【问题标题】:Benchmarking Qt5 and C++17 containers for perfomance and memory usage对 Qt5 和 C++17 容器的性能和内存使用情况进行基准测试
【发布时间】:2020-11-12 11:29:58
【问题描述】:

对于我自己的项目,我需要在最新的 GCCCLang 编译器上对 Qt5C++17 容器的性能和堆内存使用进行最新的基准测试。

结果对我在项目中的决定很有帮助,我认为它可能对其他人也有帮助,所以我决定分享它。

所以这是一个考虑到这些参数的基准:

  • Qt5 容器与 C++17 容器
  • 性能与内存使用情况
  • 容器初始化/生成时间与访问/查找/迭代时间
  • GCC 11CLang 11

【问题讨论】:

    标签: qt gcc containers clang c++17


    【解决方案1】:

    基准平台:

    硬件:

    • CPU:6 核 AMD 6200
    • 内存:32GB DDRIII

    软件:

    • 操作系统:OpenSUSE 15.2 x64
    • Qt:15.1(官方二进制)
    • GCC:11.0.0
    • CLang:11.0.0
    • HeapTrack 1.1.0

    标准:

    • C++17

    标志

    • -O3

    代码:

    【讨论】:

    • 能分享一下基准测试的代码吗?对我来说,当我不知道它们的确切来源时,这些数字就没那么有用了
    • 使用了哪些编译标志?此外,最好将图形编码为 PNG 以避免 JPEG 伪影。
    • 你是对的。没有真实代码的基准测试通常是没用的:github.com/AshkanV/Qt5vsCpp17ContainerBench
    • 我上传的图片是PNG,但上传到stackoverflow后,它发生了变化。我认为这是故意和他们内部的保存算法。
    • 我只是设置了cmake的发布选项。但现在我也将 CMAKE_VERBOSE_MAKEFILE 设置为 true 并且 cmake 编译显示:-O3 -DNDEBUG -fPIC -std=gnu++17
    猜你喜欢
    • 1970-01-01
    • 2015-09-07
    • 2015-03-06
    • 1970-01-01
    • 2011-01-21
    • 2016-01-20
    • 1970-01-01
    • 2012-05-27
    相关资源
    最近更新 更多