Skip to content

Instantly share code, notes, and snippets.

@mdouze
Last active September 24, 2022 21:28
Show Gist options
  • Save mdouze/c2074f69228173175901a91300586cf1 to your computer and use it in GitHub Desktop.
Save mdouze/c2074f69228173175901a91300586cf1 to your computer and use it in GitHub Desktop.
matthijs@Matthijss-MBP virtual_vs_template % for N in {1,5,10}000000; do echo XXXXXXXXXX N=$N; for M in 1 4 16 64 256; do echo M=$M; g++ -O3 -DM=$M -DM2=8 -DN=$N test_template.cpp tv.cpp -std=c++11 && ./a.out; done; done
XXXXXXXXXX N=1000000
M=1
Run 0
Run 1
virtual cs=-2038941961, time= 10.429 ms
template cs=-2038941961, time= 8.646 ms
Run 2
virtual cs=-2038941961, time= 7.623 ms
template cs=-2038941961, time= 6.782 ms
Run 3
virtual cs=-2038941961, time= 6.474 ms
template cs=-2038941961, time= 6.038 ms
Run 4
virtual cs=-2038941961, time= 5.806 ms
template cs=-2038941961, time= 5.471 ms
Run 5
virtual cs=-2038941961, time= 5.296 ms
template cs=-2038941961, time= 5.192 ms
virtual time: 7.126 +/- 1.826
template time: 6.426 +/- 1.236 (-9.82 %)
M=4
Run 0
Run 1
virtual cs=871820791, time= 10.516 ms
template cs=871820791, time= 9.008 ms
Run 2
virtual cs=871820791, time= 8.156 ms
template cs=871820791, time= 7.426 ms
Run 3
virtual cs=871820791, time= 7.026 ms
template cs=871820791, time= 6.597 ms
Run 4
virtual cs=871820791, time= 6.322 ms
template cs=871820791, time= 6.117 ms
Run 5
virtual cs=871820791, time= 5.935 ms
template cs=871820791, time= 5.765 ms
virtual time: 7.591 +/- 1.646
template time: 6.983 +/- 1.156 (-8.01 %)
M=16
Run 0
Run 1
virtual cs=-2020380681, time= 13.361 ms
template cs=-2020380681, time= 11.685 ms
Run 2
virtual cs=-2020380681, time= 10.726 ms
template cs=-2020380681, time= 10.046 ms
Run 3
virtual cs=-2020380681, time= 9.497 ms
template cs=-2020380681, time= 9.169 ms
Run 4
virtual cs=-2020380681, time= 9.031 ms
template cs=-2020380681, time= 8.894 ms
Run 5
virtual cs=-2020380681, time= 8.938 ms
template cs=-2020380681, time= 8.911 ms
virtual time: 10.311 +/- 1.653
template time: 9.741 +/- 1.059 (-5.52 %)
M=64
Run 0
Run 1
virtual cs=811587575, time= 10.661 ms
template cs=811587575, time= 9.120 ms
Run 2
virtual cs=811587575, time= 8.193 ms
template cs=811587575, time= 7.679 ms
Run 3
virtual cs=811587575, time= 7.202 ms
template cs=811587575, time= 6.831 ms
Run 4
virtual cs=811587575, time= 6.526 ms
template cs=811587575, time= 6.312 ms
Run 5
virtual cs=811587575, time= 6.168 ms
template cs=811587575, time= 5.975 ms
virtual time: 7.750 +/- 1.611
template time: 7.183 +/- 1.126 (-7.31 %)
M=256
Run 0
Run 1
virtual cs=972519415, time= 21.925 ms
template cs=972519415, time= 19.819 ms
Run 2
virtual cs=972519415, time= 19.224 ms
template cs=972519415, time= 19.287 ms
Run 3
virtual cs=972519415, time= 19.196 ms
template cs=972519415, time= 19.321 ms
Run 4
virtual cs=972519415, time= 19.218 ms
template cs=972519415, time= 19.297 ms
Run 5
virtual cs=972519415, time= 19.223 ms
template cs=972519415, time= 19.266 ms
virtual time: 19.757 +/- 1.084
template time: 19.398 +/- 0.211 (-1.82 %)
XXXXXXXXXX N=5000000
M=1
Run 0
Run 1
virtual cs=-863947017, time= 25.170 ms
template cs=-863947017, time= 23.185 ms
Run 2
virtual cs=-863947017, time= 23.073 ms
template cs=-863947017, time= 23.070 ms
Run 3
virtual cs=-863947017, time= 23.062 ms
template cs=-863947017, time= 23.088 ms
Run 4
virtual cs=-863947017, time= 23.057 ms
template cs=-863947017, time= 23.057 ms
Run 5
virtual cs=-863947017, time= 23.043 ms
template cs=-863947017, time= 23.026 ms
virtual time: 23.481 +/- 0.845
template time: 23.085 +/- 0.054 (-1.69 %)
M=4
Run 0
Run 1
virtual cs=1276833271, time= 27.961 ms
template cs=1276833271, time= 27.364 ms
Run 2
virtual cs=1276833271, time= 27.163 ms
template cs=1276833271, time= 27.315 ms
Run 3
virtual cs=1276833271, time= 27.205 ms
template cs=1276833271, time= 27.339 ms
Run 4
virtual cs=1276833271, time= 27.223 ms
template cs=1276833271, time= 27.304 ms
Run 5
virtual cs=1276833271, time= 27.229 ms
template cs=1276833271, time= 27.286 ms
virtual time: 27.356 +/- 0.303
template time: 27.322 +/- 0.027 (-0.13 %)
M=16
Run 0
Run 1
virtual cs=-400330761, time= 44.526 ms
template cs=-400330761, time= 44.599 ms
Run 2
virtual cs=-400330761, time= 44.543 ms
template cs=-400330761, time= 44.587 ms
Run 3
virtual cs=-400330761, time= 44.522 ms
template cs=-400330761, time= 44.589 ms
Run 4
virtual cs=-400330761, time= 44.567 ms
template cs=-400330761, time= 44.548 ms
Run 5
virtual cs=-400330761, time= 44.542 ms
template cs=-400330761, time= 44.603 ms
virtual time: 44.540 +/- 0.016
template time: 44.585 +/- 0.019 (+0.10 %)
M=64
Run 0
Run 1
virtual cs=-1298147337, time= 29.487 ms
template cs=-1298147337, time= 28.945 ms
Run 2
virtual cs=-1298147337, time= 28.787 ms
template cs=-1298147337, time= 28.975 ms
Run 3
virtual cs=-1298147337, time= 28.841 ms
template cs=-1298147337, time= 28.944 ms
Run 4
virtual cs=-1298147337, time= 28.752 ms
template cs=-1298147337, time= 28.964 ms
Run 5
virtual cs=-1298147337, time= 28.812 ms
template cs=-1298147337, time= 28.901 ms
virtual time: 28.936 +/- 0.277
template time: 28.946 +/- 0.025 (+0.03 %)
M=256
Run 0
Run 1
virtual cs=1123514359, time= 96.047 ms
template cs=1123514359, time= 95.937 ms
Run 2
virtual cs=1123514359, time= 96.023 ms
template cs=1123514359, time= 95.999 ms
Run 3
virtual cs=1123514359, time= 96.051 ms
template cs=1123514359, time= 95.890 ms
Run 4
virtual cs=1123514359, time= 95.946 ms
template cs=1123514359, time= 96.029 ms
Run 5
virtual cs=1123514359, time= 96.092 ms
template cs=1123514359, time= 95.916 ms
virtual time: 96.032 +/- 0.048
template time: 95.954 +/- 0.052 (-0.08 %)
XXXXXXXXXX N=10000000
M=1
Run 0
Run 1
virtual cs=-1542686985, time= 46.255 ms
template cs=-1542686985, time= 45.962 ms
Run 2
virtual cs=-1542686985, time= 46.257 ms
template cs=-1542686985, time= 45.975 ms
Run 3
virtual cs=-1542686985, time= 46.221 ms
template cs=-1542686985, time= 45.988 ms
Run 4
virtual cs=-1542686985, time= 46.191 ms
template cs=-1542686985, time= 47.999 ms
Run 5
virtual cs=-1542686985, time= 46.744 ms
template cs=-1542686985, time= 46.167 ms
virtual time: 46.334 +/- 0.207
template time: 46.418 +/- 0.794 (+0.18 %)
M=4
Run 0
Run 1
virtual cs=-1438126601, time= 54.505 ms
template cs=-1438126601, time= 54.468 ms
Run 2
virtual cs=-1438126601, time= 54.559 ms
template cs=-1438126601, time= 54.516 ms
Run 3
virtual cs=-1438126601, time= 54.513 ms
template cs=-1438126601, time= 54.514 ms
Run 4
virtual cs=-1438126601, time= 54.497 ms
template cs=-1438126601, time= 54.555 ms
Run 5
virtual cs=-1438126601, time= 54.490 ms
template cs=-1438126601, time= 54.539 ms
virtual time: 54.513 +/- 0.024
template time: 54.518 +/- 0.029 (+0.01 %)
M=16
Run 0
Run 1
virtual cs=1624731639, time= 89.020 ms
template cs=1624731639, time= 89.017 ms
Run 2
virtual cs=1624731639, time= 88.954 ms
template cs=1624731639, time= 88.974 ms
Run 3
virtual cs=1624731639, time= 89.014 ms
template cs=1624731639, time= 89.014 ms
Run 4
virtual cs=1624731639, time= 89.011 ms
template cs=1624731639, time= 88.994 ms
Run 5
virtual cs=1624731639, time= 88.970 ms
template cs=1624731639, time= 88.917 ms
virtual time: 88.994 +/- 0.027
template time: 88.983 +/- 0.037 (-0.01 %)
M=64
Run 0
Run 1
virtual cs=-1787832329, time= 57.775 ms
template cs=-1787832329, time= 57.763 ms
Run 2
virtual cs=-1787832329, time= 57.687 ms
template cs=-1787832329, time= 57.772 ms
Run 3
virtual cs=-1787832329, time= 57.751 ms
template cs=-1787832329, time= 57.776 ms
Run 4
virtual cs=-1787832329, time= 57.730 ms
template cs=-1787832329, time= 57.753 ms
Run 5
virtual cs=-1787832329, time= 57.779 ms
template cs=-1787832329, time= 57.843 ms
virtual time: 57.744 +/- 0.034
template time: 57.781 +/- 0.032 (+0.06 %)
M=256
Run 0
Run 1
virtual cs=-1913161737, time= 192.039 ms
template cs=-1913161737, time= 191.882 ms
Run 2
virtual cs=-1913161737, time= 191.942 ms
template cs=-1913161737, time= 191.864 ms
Run 3
virtual cs=-1913161737, time= 191.856 ms
template cs=-1913161737, time= 191.772 ms
Run 4
virtual cs=-1913161737, time= 192.069 ms
template cs=-1913161737, time= 191.786 ms
Run 5
virtual cs=-1913161737, time= 191.951 ms
template cs=-1913161737, time= 191.909 ms
virtual time: 191.971 +/- 0.076
template time: 191.843 +/- 0.054 (-0.07 %)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment