1
7
例如,使用
下面是一些基准测试结果。 Compiler raw loop std::ceil std:floor std::trunc std::round -------------------------------------------------------------------- gcc 8.36 8.20 8.19 8.21 32.95 gcc(f) 2.88 8.20 8.20 8.20 11.01 msvs 8.20 28.47 31.90 67.14 97.84 msvs(f) 8.13 13.70 14.00 67.27 97.50
Code . 编译选项: gcc: --std=c++17 -O3 -m64 -march=native -fno-tree-vectorize gcc(f): --std=c++17 -O3 -m64 -march=native -ffast-math -fno-tree-vectorize msvs: /fp:precise /fp:except /O2 /std:c++latest ... msvs(f): /fp:fast /fp:except- /O2 /std:c++latest ...
坦率地说,我不认为这些结果是非常相关的(绝对值)本身。使用“快速数学”选项,某些函数只会简化为一条汇编指令
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |