$ xg++ --version
xg++ (GCC) 14.0.0 20230912 (experimental)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ git rev-parse HEAD~2 # base commit
721021a18e2ac004140ddd93113c11075ea890c6
$ git log -n 2 --pretty=format:%H # changes from the base
b35c72c21795f3d8cec969395dba2c27d9607dc9
4c368cd72abe4aa90aefb659fdd3c2ac95d2b9fe
$ perf stat xg++ -std=c++2b -c is_member_pointer_v.cc
x /tmp/tmp.9441YLswCw/time_A.txt
+ /tmp/tmp.9441YLswCw/time_B.txt
+----------------------------------------------------------------------+
| + x |
| + x |
|+ + x |
|+ + x x |
|+ + x x |
|+ + x xx|
||__AM| |M__A__| |
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 13.391522 14.280132 13.479845 13.739878 0.37807586
+ 10 6.9775123 7.4474665 7.4068671 7.2541428 0.2257727
Difference at 95.0% confidence
-6.48574 +/- 0.292571
-47.2037% +/- 2.12936%
(Student's t, pooled s = 0.31138)
$ /usr/bin/time -v xg++ -std=c++2b -c is_member_pointer_v.cc
x /tmp/tmp.9441YLswCw/peak_mem_A.txt
+ /tmp/tmp.9441YLswCw/peak_mem_B.txt
+----------------------------------------------------------------------+
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|A A|
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 2529332 2529476 2529436 2529426 46.197643
+ 10 1532272 1532500 1532384 1532370.4 68.616809
Difference at 95.0% confidence
-997056 +/- 54.9583
-39.4183% +/- 0.00217276%
(Student's t, pooled s = 58.4914)
$ xg++ -ftime-report -std=c++2b -c is_member_pointer_v.cc
x /tmp/tmp.9441YLswCw/total_mem_A.txt
+ /tmp/tmp.9441YLswCw/total_mem_B.txt
+----------------------------------------------------------------------+
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|A A|
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 2934 2934 2934 2934 0
+ 10 1702 1702 1702 1702 0
Difference at 95.0% confidence
-1232 +/- 0
-41.9905% +/- 0%
(Student's t, pooled s = 0)
$ xg++ --version
xg++ (GCC) 14.0.0 20231016 (experimental)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ perf stat xg++ -std=c++2b -c is_member_pointer_v.cc
x /tmp/tmp.Kdtg8sTlH9/time_no_builtin.txt
+ /tmp/tmp.Kdtg8sTlH9/time_builtin.txt
+----------------------------------------------------------------------+
| + |
| + |
| + |
| + |
| + x x |
|++ x x x |
|++ + xxx xx|
||A| |A_| |
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 25.889729 27.316278 26.531799 26.55368 0.50949211
+ 10 7.0407625 8.0450519 7.3328379 7.3506609 0.28491568
Difference at 95.0% confidence
-19.203 +/- 0.387838
-72.3177% +/- 1.46058%
(Student's t, pooled s = 0.412771)
$ /usr/bin/time -v xg++ -std=c++2b -c is_member_pointer_v.cc
x /tmp/tmp.Kdtg8sTlH9/peak_mem_no_builtin.txt
+ /tmp/tmp.Kdtg8sTlH9/peak_mem_builtin.txt
+----------------------------------------------------------------------+
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|A A|
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 4488228 4488588 4488364 4488378 107.10327
+ 10 1534752 1535000 1534896 1534897.2 68.014379
Difference at 95.0% confidence
-2.95348e+06 +/- 84.2945
-65.8029% +/- 0.00187806%
(Student's t, pooled s = 89.7136)
$ xg++ -ftime-report -std=c++2b -c is_member_pointer_v.cc
x /tmp/tmp.Kdtg8sTlH9/total_mem_no_builtin.txt
+ /tmp/tmp.Kdtg8sTlH9/total_mem_builtin.txt
+----------------------------------------------------------------------+
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|A A|
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 5526 5526 5526 5526 0
+ 10 1703 1703 1703 1703 0
Difference at 95.0% confidence
-3823 +/- 0
-69.182% +/- 0%
(Student's t, pooled s = 0)
x ./reports/built-ins/is_member_pointer_v/time_no_builtin.txt
+ ./reports/built-ins/is_member_pointer_v/time_builtin.txt
+----------------------------------------------------------------------+
| + |
| ++ x |
|+++ x |
|+++ + xxx xxx x x|
||A| |___AM___| |
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 26.526292 30.689061 28.589004 28.497456 1.4273988
+ 10 7.9624075 9.3281305 8.4230756 8.40556 0.37497099
Difference at 95.0% confidence
-20.0919 +/- 0.980533
-70.5042% +/- 3.44077%
(Student's t, pooled s = 1.04357)
x ./reports/built-ins/is_member_pointer_v/peak_mem_no_builtin.txt
+ ./reports/built-ins/is_member_pointer_v/peak_mem_builtin.txt
+----------------------------------------------------------------------+
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|A A|
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 4487368 4487632 4487532 4487504 101.05224
+ 10 1533880 1534324 1534176 1534117.6 132.92203
Difference at 95.0% confidence
-2.95339e+06 +/- 110.936
-65.8136% +/- 0.0024721%
(Student's t, pooled s = 118.067)
x ./reports/built-ins/is_member_pointer_v/total_mem_no_builtin.txt
+ ./reports/built-ins/is_member_pointer_v/total_mem_builtin.txt
+----------------------------------------------------------------------+
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|+ x|
|A A|
+----------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 10 5525 5525 5525 5525 0
+ 10 1703 1703 1703 1703 0
Difference at 95.0% confidence
-3822 +/- 0
-69.1765% +/- 0%
(Student's t, pooled s = 0)