OI中常数的测定

仅供参考

Posted by tofucurd on June 28, 2022

测试环境为macOS12.3,CPU为Apple M1 Pro。

g++-11版本:Homebrew GCC 11.3.0_1

clang++版本:Apple clang version 13.1.6

加法,乘法

(0) clang++(ms)[O0/O2] g++-11(ms)[O0/O2]
1e9次加法(不取模) 943.698/0.002 548.563/0.004
1e9次加法($\mod 998244353~$) 5535.621/0.004 7795.044/0.003
1e9次乘法(不取模) 937.686/0.002 937.614/0.002
1e9次乘法($ \mod 998244353$) 6496.937/0.002 8456.852/0.004
__int128 1e9次(1)加法(不取模) 1258.685/0.003 2827.338/0.002
__int128 1e9次(1)乘法(不取模) 1311.491/0.004 4526.648/0.002

(0):测试均采用for,如未特殊说明变量均采用long long

(1):范围为[1e20,1e20+1e9]

线段树,树状数组

(2) 线段树(ms,Ofast)[clang++/g++-11] 树状数组(ms,Ofast)[clang++/g++-11] 比例
4e7 单点改 4e7 区间查 13966.705/12262.287 2552.754/2612.905 5.471:1/4.693:1

(2):代码均为本人版本

bitset

项目:bitset<1e8> 互相异或5000次

Test Time[clang++/g++-11]
1 4209.046/7040.604
2 4163.929/7087.2840
3 4163.703/6952.518
4 4166.918/6908.187
5 4180.575/6964.1060
≈for循环 4.45e9/1.785e10