Codefox icon

Untitled

Codefox | PRO | 04/04/14 08:22:04 AM UTC | 0 ⭐ | 687 👁️ | Never ⏰ | []
text |

67 KB

|

None

|

0 👍

/

0 👎

Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./machine.exe
##Start machine report version 1.0
##Compiler
GCC version 4.2.1 Compatible Clang 3.4 (tags/RELEASE_34/final) (https://github.com/flurreh/obfuscator.git 6d7cc01e6a45a4d67466b9835760befe52c35295)
##Target CPU
Compiled for x86 32bit
##Physical CPU
Little Endian
##Machine
##Operating System
##End machine report
  --------------------------------------------------------------------------------
 Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./loop_unroll.exe
./loop_unroll
 test                description   absolute   operations   ratio with
number                            time       per second   test0
  0  "int32_t for loop unroll 1"   0.62 sec   3840.00 M     1.00
 1  "int32_t for loop unroll 2"   1.08 sec   2226.35 M     1.72
 2  "int32_t for loop unroll 3"   0.72 sec   3342.62 M     1.15
 3  "int32_t for loop unroll 4"   0.61 sec   3934.43 M     0.98
 4  "int32_t for loop unroll 5"   0.61 sec   3940.89 M     0.97
 5  "int32_t for loop unroll 6"   0.59 sec   4040.40 M     0.95
 6  "int32_t for loop unroll 7"   0.56 sec   4270.46 M     0.90
 7  "int32_t for loop unroll 8"   0.56 sec   4262.88 M     0.90
 8  "int32_t for loop unroll 9"   0.56 sec   4270.46 M     0.90
 9 "int32_t for loop unroll 10"   0.56 sec   4262.88 M     0.90
10 "int32_t for loop unroll 11"   0.55 sec   4387.57 M     0.88
11 "int32_t for loop unroll 12"   0.53 sec   4519.77 M     0.85
12 "int32_t for loop unroll 13"   0.55 sec   4387.57 M     0.88
13 "int32_t for loop unroll 14"   0.55 sec   4387.57 M     0.88
14 "int32_t for loop unroll 15"   2.44 sec   984.82 M     3.90
15 "int32_t for loop unroll 16"   2.62 sec   914.29 M     4.20
16 "int32_t for loop unroll 17"   2.53 sec   947.87 M     4.05
17 "int32_t for loop unroll 18"   2.42 sec   991.33 M     3.87
18 "int32_t for loop unroll 19"   2.33 sec   1030.49 M     3.73
19 "int32_t for loop unroll 20"   2.25 sec   1066.67 M     3.60
20 "int32_t for loop unroll 21"   2.17 sec   1105.48 M     3.47
21 "int32_t for loop unroll 22"   2.11 sec   1137.44 M     3.38
22 "int32_t for loop unroll 23"   2.05 sec   1172.45 M     3.28
23 "int32_t for loop unroll 24"   2.00 sec   1200.00 M     3.20
24 "int32_t for loop unroll 25"   1.94 sec   1239.03 M     3.10
25 "int32_t for loop unroll 26"   1.89 sec   1269.17 M     3.03
26 "int32_t for loop unroll 27"   1.86 sec   1291.02 M     2.97
27 "int32_t for loop unroll 28"   2.45 sec   978.39 M     3.92
28 "int32_t for loop unroll 29"   2.56 sec   936.40 M     4.10
29 "int32_t for loop unroll 30"   2.50 sec   960.00 M     4.00
30 "int32_t for loop unroll 31"   2.45 sec   978.39 M     3.92
31 "int32_t for loop unroll 32"   2.41 sec   997.51 M     3.85
 Total absolute time for int32_t for loop unrolling: 49.64 sec
 test                  description   absolute   operations   ratio with
number                              time       per second   test0
  0  "int32_t while loop unroll 1"   0.62 sec   3840.00 M     1.00
 1  "int32_t while loop unroll 2"   1.08 sec   2226.35 M     1.72
 2  "int32_t while loop unroll 3"   0.72 sec   3337.97 M     1.15
 3  "int32_t while loop unroll 4"   0.61 sec   3940.89 M     0.97
 4  "int32_t while loop unroll 5"   0.59 sec   4040.40 M     0.95
 5  "int32_t while loop unroll 6"   0.58 sec   4152.25 M     0.92
 6  "int32_t while loop unroll 7"   0.58 sec   4152.25 M     0.92
 7  "int32_t while loop unroll 8"   0.56 sec   4262.88 M     0.90
 8  "int32_t while loop unroll 9"   0.58 sec   4152.25 M     0.92
 9 "int32_t while loop unroll 10"   0.55 sec   4387.57 M     0.88
10 "int32_t while loop unroll 11"   0.55 sec   4387.57 M     0.88
11 "int32_t while loop unroll 12"   0.55 sec   4387.57 M     0.88
12 "int32_t while loop unroll 13"   0.55 sec   4387.57 M     0.88
13 "int32_t while loop unroll 14"   0.55 sec   4395.60 M     0.87
14 "int32_t while loop unroll 15"   2.42 sec   990.92 M     3.88
15 "int32_t while loop unroll 16"   2.64 sec   909.09 M     4.22
16 "int32_t while loop unroll 17"   2.53 sec   948.24 M     4.05
17 "int32_t while loop unroll 18"   2.42 sec   990.92 M     3.88
18 "int32_t while loop unroll 19"   2.31 sec   1037.61 M     3.70
19 "int32_t while loop unroll 20"   2.25 sec   1066.67 M     3.60
20 "int32_t while loop unroll 21"   2.14 sec   1121.50 M     3.42
21 "int32_t while loop unroll 22"   2.11 sec   1137.44 M     3.38
22 "int32_t while loop unroll 23"   2.05 sec   1172.45 M     3.28
23 "int32_t while loop unroll 24"   2.00 sec   1200.00 M     3.20
24 "int32_t while loop unroll 25"   1.91 sec   1259.18 M     3.05
25 "int32_t while loop unroll 26"   1.88 sec   1280.00 M     3.00
26 "int32_t while loop unroll 27"   1.86 sec   1291.02 M     2.97
27 "int32_t while loop unroll 28"   2.45 sec   978.00 M     3.93
28 "int32_t while loop unroll 29"   2.58 sec   930.95 M     4.12
29 "int32_t while loop unroll 30"   2.50 sec   960.00 M     4.00
30 "int32_t while loop unroll 31"   2.45 sec   978.39 M     3.92
31 "int32_t while loop unroll 32"   2.38 sec   1010.53 M     3.80
 Total absolute time for int32_t while loop unrolling: 49.53 sec
 test               description   absolute   operations   ratio with
number                           time       per second   test0
  0  "int32_t do loop unroll 1"   0.64 sec   3744.15 M     1.00
 1  "int32_t do loop unroll 2"   1.06 sec   2259.89 M     1.66
 2  "int32_t do loop unroll 3"   0.72 sec   3337.97 M     1.12
 3  "int32_t do loop unroll 4"   0.62 sec   3840.00 M     0.98
 4  "int32_t do loop unroll 5"   0.59 sec   4040.40 M     0.93
 5  "int32_t do loop unroll 6"   0.58 sec   4152.25 M     0.90
 6  "int32_t do loop unroll 7"   0.58 sec   4152.25 M     0.90
 7  "int32_t do loop unroll 8"   0.58 sec   4152.25 M     0.90
 8  "int32_t do loop unroll 9"   0.55 sec   4387.57 M     0.85
 9 "int32_t do loop unroll 10"   0.56 sec   4270.46 M     0.88
10 "int32_t do loop unroll 11"   0.55 sec   4387.57 M     0.85
11 "int32_t do loop unroll 12"   0.55 sec   4387.57 M     0.85
12 "int32_t do loop unroll 13"   0.55 sec   4387.57 M     0.85
13 "int32_t do loop unroll 14"   0.53 sec   4519.77 M     0.83
14 "int32_t do loop unroll 15"   2.44 sec   984.41 M     3.80
15 "int32_t do loop unroll 16"   2.62 sec   914.29 M     4.10
16 "int32_t do loop unroll 17"   2.53 sec   948.24 M     3.95
17 "int32_t do loop unroll 18"   2.44 sec   984.41 M     3.80
18 "int32_t do loop unroll 19"   2.33 sec   1030.93 M     3.63
19 "int32_t do loop unroll 20"   2.27 sec   1059.60 M     3.53
20 "int32_t do loop unroll 21"   2.14 sec   1120.97 M     3.34
21 "int32_t do loop unroll 22"   2.11 sec   1137.98 M     3.29
22 "int32_t do loop unroll 23"   2.05 sec   1172.45 M     3.19
23 "int32_t do loop unroll 24"   2.00 sec   1200.00 M     3.12
24 "int32_t do loop unroll 25"   1.95 sec   1228.88 M     3.05
25 "int32_t do loop unroll 26"   1.91 sec   1258.52 M     2.98
26 "int32_t do loop unroll 27"   1.84 sec   1302.22 M     2.88
27 "int32_t do loop unroll 28"   2.44 sec   984.41 M     3.80
28 "int32_t do loop unroll 29"   2.55 sec   942.29 M     3.97
29 "int32_t do loop unroll 30"   2.52 sec   954.27 M     3.92
30 "int32_t do loop unroll 31"   2.45 sec   978.39 M     3.83
31 "int32_t do loop unroll 32"   2.39 sec   1003.76 M     3.73
 Total absolute time for int32_t do loop unrolling: 49.63 sec
 test                 description   absolute   operations   ratio with
number                             time       per second   test0
  0  "int32_t goto loop unroll 1"   0.62 sec   3840.00 M     1.00
 1  "int32_t goto loop unroll 2"   1.05 sec   2292.26 M     1.68
 2  "int32_t goto loop unroll 3"   0.72 sec   3337.97 M     1.15
 3  "int32_t goto loop unroll 4"   0.62 sec   3840.00 M     1.00
 4  "int32_t goto loop unroll 5"   0.58 sec   4152.25 M     0.92
 5  "int32_t goto loop unroll 6"   0.59 sec   4040.40 M     0.95
 6  "int32_t goto loop unroll 7"   0.58 sec   4152.25 M     0.92
 7  "int32_t goto loop unroll 8"   0.56 sec   4270.46 M     0.90
 8  "int32_t goto loop unroll 9"   0.56 sec   4262.88 M     0.90
 9 "int32_t goto loop unroll 10"   0.55 sec   4387.57 M     0.88
10 "int32_t goto loop unroll 11"   0.55 sec   4387.57 M     0.88
11 "int32_t goto loop unroll 12"   0.55 sec   4395.60 M     0.87
12 "int32_t goto loop unroll 13"   0.55 sec   4387.57 M     0.88
13 "int32_t goto loop unroll 14"   0.55 sec   4387.57 M     0.88
14 "int32_t goto loop unroll 15"   2.42 sec   990.92 M     3.88
15 "int32_t goto loop unroll 16"   2.64 sec   908.75 M     4.23
16 "int32_t goto loop unroll 17"   2.53 sec   948.24 M     4.05
17 "int32_t goto loop unroll 18"   2.42 sec   990.92 M     3.88
18 "int32_t goto loop unroll 19"   2.33 sec   1030.93 M     3.72
19 "int32_t goto loop unroll 20"   2.25 sec   1066.67 M     3.60
20 "int32_t goto loop unroll 21"   2.19 sec   1097.39 M     3.50
21 "int32_t goto loop unroll 22"   2.11 sec   1137.44 M     3.38
22 "int32_t goto loop unroll 23"   2.06 sec   1163.92 M     3.30
23 "int32_t goto loop unroll 24"   2.00 sec   1200.00 M     3.20
24 "int32_t goto loop unroll 25"   1.94 sec   1238.39 M     3.10
25 "int32_t goto loop unroll 26"   1.89 sec   1269.17 M     3.03
26 "int32_t goto loop unroll 27"   1.84 sec   1301.52 M     2.95
27 "int32_t goto loop unroll 28"   2.42 sec   991.33 M     3.87
28 "int32_t goto loop unroll 29"   2.58 sec   930.59 M     4.13
29 "int32_t goto loop unroll 30"   2.48 sec   966.18 M     3.97
30 "int32_t goto loop unroll 31"   2.45 sec   978.39 M     3.92
31 "int32_t goto loop unroll 32"   2.41 sec   997.09 M     3.85
 Total absolute time for int32_t goto loop unrolling: 49.60 sec
 test               description   absolute   operations   ratio with
number                           time       per second   test0
  0  "double for loop unroll 1"   1.28 sec   468.38 M     1.00
 1  "double for loop unroll 2"   1.25 sec   480.00 M     0.98
 2  "double for loop unroll 3"   1.30 sec   462.61 M     1.01
 3  "double for loop unroll 4"   1.28 sec   468.38 M     1.00
 4  "double for loop unroll 5"   1.24 sec   485.83 M     0.96
 5  "double for loop unroll 6"   1.30 sec   462.96 M     1.01
 6  "double for loop unroll 7"   1.30 sec   462.61 M     1.01
 7  "double for loop unroll 8"   1.47 sec   408.72 M     1.15
 8  "double for loop unroll 9"   1.49 sec   404.04 M     1.16
 9 "double for loop unroll 10"   1.45 sec   412.94 M     1.13
10 "double for loop unroll 11"   1.36 sec   441.18 M     1.06
11 "double for loop unroll 12"   1.41 sec   426.74 M     1.10
12 "double for loop unroll 13"   1.39 sec   431.65 M     1.09
13 "double for loop unroll 14"   1.38 sec   436.36 M     1.07
14 "double for loop unroll 15"   1.52 sec   395.78 M     1.18
15 "double for loop unroll 16"   1.45 sec   412.94 M     1.13
16 "double for loop unroll 17"   1.45 sec   412.94 M     1.13
17 "double for loop unroll 18"   1.45 sec   412.65 M     1.14
18 "double for loop unroll 19"   1.42 sec   422.24 M     1.11
19 "double for loop unroll 20"   1.44 sec   417.54 M     1.12
20 "double for loop unroll 21"   1.41 sec   426.44 M     1.10
21 "double for loop unroll 22"   1.50 sec   400.00 M     1.17
22 "double for loop unroll 23"   1.51 sec   396.04 M     1.18
23 "double for loop unroll 24"   1.45 sec   412.94 M     1.13
24 "double for loop unroll 25"   1.49 sec   404.04 M     1.16
25 "double for loop unroll 26"   1.44 sec   417.54 M     1.12
26 "double for loop unroll 27"   1.45 sec   412.94 M     1.13
27 "double for loop unroll 28"   1.45 sec   412.65 M     1.14
28 "double for loop unroll 29"   1.55 sec   388.10 M     1.21
29 "double for loop unroll 30"   1.53 sec   391.64 M     1.20
30 "double for loop unroll 31"   1.53 sec   391.90 M     1.20
31 "double for loop unroll 32"   1.48 sec   404.31 M     1.16
 Total absolute time for double for loop unrolling: 45.41 sec
 test                 description   absolute   operations   ratio with
number                             time       per second   test0
  0  "double while loop unroll 1"   1.28 sec   468.02 M     1.00
 1  "double while loop unroll 2"   1.28 sec   468.38 M     1.00
 2  "double while loop unroll 3"   1.28 sec   468.38 M     1.00
 3  "double while loop unroll 4"   1.30 sec   462.61 M     1.01
 4  "double while loop unroll 5"   1.30 sec   462.61 M     1.01
 5  "double while loop unroll 6"   1.28 sec   468.38 M     1.00
 6  "double while loop unroll 7"   1.30 sec   462.61 M     1.01
 7  "double while loop unroll 8"   1.47 sec   408.44 M     1.15
 8  "double while loop unroll 9"   1.45 sec   412.94 M     1.13
 9 "double while loop unroll 10"   1.45 sec   412.65 M     1.13
10 "double while loop unroll 11"   1.41 sec   427.05 M     1.10
11 "double while loop unroll 12"   1.39 sec   431.34 M     1.09
12 "double while loop unroll 13"   1.41 sec   426.44 M     1.10
13 "double while loop unroll 14"   1.38 sec   436.36 M     1.07
14 "double while loop unroll 15"   1.51 sec   396.04 M     1.18
15 "double while loop unroll 16"   1.49 sec   404.04 M     1.16
16 "double while loop unroll 17"   1.45 sec   413.22 M     1.13
17 "double while loop unroll 18"   1.47 sec   408.16 M     1.15
18 "double while loop unroll 19"   1.44 sec   417.54 M     1.12
19 "double while loop unroll 20"   1.44 sec   417.25 M     1.12
20 "double while loop unroll 21"   1.41 sec   426.74 M     1.10
21 "double while loop unroll 22"   1.53 sec   391.90 M     1.19
22 "double while loop unroll 23"   1.50 sec   400.00 M     1.17
23 "double while loop unroll 24"   1.50 sec   400.00 M     1.17
24 "double while loop unroll 25"   1.47 sec   408.44 M     1.15
25 "double while loop unroll 26"   1.45 sec   413.22 M     1.13
26 "double while loop unroll 27"   1.44 sec   417.25 M     1.12
27 "double while loop unroll 28"   1.45 sec   412.94 M     1.13
28 "double while loop unroll 29"   1.55 sec   387.85 M     1.21
29 "double while loop unroll 30"   1.53 sec   391.90 M     1.19
30 "double while loop unroll 31"   1.52 sec   395.78 M     1.18
31 "double while loop unroll 32"   1.50 sec   400.00 M     1.17
 Total absolute time for double while loop unrolling: 45.61 sec
 test              description   absolute   operations   ratio with
number                          time       per second   test0
  0  "double do loop unroll 1"   1.30 sec   462.61 M     1.00
 1  "double do loop unroll 2"   1.28 sec   468.38 M     0.99
 2  "double do loop unroll 3"   1.30 sec   462.61 M     1.00
 3  "double do loop unroll 4"   1.28 sec   468.38 M     0.99
 4  "double do loop unroll 5"   1.30 sec   462.61 M     1.00
 5  "double do loop unroll 6"   1.25 sec   480.00 M     0.96
 6  "double do loop unroll 7"   1.30 sec   462.61 M     1.00
 7  "double do loop unroll 8"   1.45 sec   412.94 M     1.12
 8  "double do loop unroll 9"   1.47 sec   408.44 M     1.13
 9 "double do loop unroll 10"   1.45 sec   412.94 M     1.12
10 "double do loop unroll 11"   1.41 sec   426.74 M     1.08
11 "double do loop unroll 12"   1.44 sec   417.25 M     1.11
12 "double do loop unroll 13"   1.37 sec   436.68 M     1.06
13 "double do loop unroll 14"   1.38 sec   436.36 M     1.06
14 "double do loop unroll 15"   1.50 sec   400.00 M     1.16
15 "double do loop unroll 16"   1.47 sec   408.44 M     1.13
16 "double do loop unroll 17"   1.49 sec   404.04 M     1.14
17 "double do loop unroll 18"   1.45 sec   412.94 M     1.12
18 "double do loop unroll 19"   1.44 sec   417.25 M     1.11
19 "double do loop unroll 20"   1.42 sec   421.94 M     1.10
20 "double do loop unroll 21"   1.41 sec   426.74 M     1.08
21 "double do loop unroll 22"   1.53 sec   391.90 M     1.18
22 "double do loop unroll 23"   1.50 sec   400.00 M     1.16
23 "double do loop unroll 24"   1.50 sec   400.00 M     1.16
24 "double do loop unroll 25"   1.47 sec   408.72 M     1.13
25 "double do loop unroll 26"   1.47 sec   408.44 M     1.13
26 "double do loop unroll 27"   1.44 sec   417.25 M     1.11
27 "double do loop unroll 28"   1.45 sec   412.94 M     1.12
28 "double do loop unroll 29"   1.55 sec   387.85 M     1.19
29 "double do loop unroll 30"   1.53 sec   391.90 M     1.18
30 "double do loop unroll 31"   1.52 sec   395.78 M     1.17
31 "double do loop unroll 32"   1.50 sec   400.00 M     1.16
 Total absolute time for double do loop unrolling: 45.59 sec
 test                description   absolute   operations   ratio with
number                            time       per second   test0
  0  "double goto loop unroll 1"   1.28 sec   468.38 M     1.00
 1  "double goto loop unroll 2"   1.28 sec   468.38 M     1.00
 2  "double goto loop unroll 3"   1.30 sec   462.61 M     1.01
 3  "double goto loop unroll 4"   1.28 sec   468.38 M     1.00
 4  "double goto loop unroll 5"   1.30 sec   462.61 M     1.01
 5  "double goto loop unroll 6"   1.28 sec   468.38 M     1.00
 6  "double goto loop unroll 7"   1.28 sec   468.02 M     1.00
 7  "double goto loop unroll 8"   1.45 sec   412.94 M     1.13
 8  "double goto loop unroll 9"   1.47 sec   408.72 M     1.15
 9 "double goto loop unroll 10"   1.45 sec   412.65 M     1.14
10 "double goto loop unroll 11"   1.41 sec   426.74 M     1.10
11 "double goto loop unroll 12"   1.41 sec   426.74 M     1.10
12 "double goto loop unroll 13"   1.38 sec   436.36 M     1.07
13 "double goto loop unroll 14"   1.38 sec   436.36 M     1.07
14 "double goto loop unroll 15"   1.50 sec   400.00 M     1.17
15 "double goto loop unroll 16"   1.49 sec   404.04 M     1.16
16 "double goto loop unroll 17"   1.45 sec   412.94 M     1.13
17 "double goto loop unroll 18"   1.45 sec   412.94 M     1.13
18 "double goto loop unroll 19"   1.44 sec   417.25 M     1.12
19 "double goto loop unroll 20"   1.42 sec   422.24 M     1.11
20 "double goto loop unroll 21"   1.36 sec   441.18 M     1.06
21 "double goto loop unroll 22"   1.53 sec   391.90 M     1.20
22 "double goto loop unroll 23"   1.52 sec   395.78 M     1.18
23 "double goto loop unroll 24"   1.50 sec   400.00 M     1.17
24 "double goto loop unroll 25"   1.48 sec   404.31 M     1.16
25 "double goto loop unroll 26"   1.45 sec   412.94 M     1.13
26 "double goto loop unroll 27"   1.45 sec   412.94 M     1.13
27 "double goto loop unroll 28"   1.44 sec   417.25 M     1.12
28 "double goto loop unroll 29"   1.55 sec   387.85 M     1.21
29 "double goto loop unroll 30"   1.53 sec   392.16 M     1.19
30 "double goto loop unroll 31"   1.52 sec   395.78 M     1.18
31 "double goto loop unroll 32"   1.50 sec   399.73 M     1.17
 Total absolute time for double goto loop unrolling: 45.52 sec
 --------------------------------------------------------------------------------
 Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./functionobjects.exe
./functionobjects
 test                                                description   absolute   operations   ratio with
number                                                            time       per second   test0
  0                          "qsort array with function pointer"   2.55 sec    7.86 M     1.00
 1             "quicksort function array with function pointer"   2.11 sec    9.48 M     0.83
 2             "quicksort template array with function pointer"   2.14 sec    9.35 M     0.84
 3    "quicksort template array with template function pointer"   2.11 sec    9.48 M     0.83
 4                           "sort array with function pointer"   1.69 sec   11.86 M     0.66
 5        "quicksort template array with user-supplied functor"   1.20 sec   16.63 M     0.47
 6                      "sort array with user-supplied functor"   0.95 sec   20.96 M     0.37
 7 "quicksort template array with user-supplied inline functor"   1.20 sec   16.63 M     0.47
 8               "sort array with user-supplied inline functor"   0.95 sec   20.99 M     0.37
 9             "quicksort template array with standard functor"   1.25 sec   16.00 M     0.49
10                           "sort array with standard functor"   0.97 sec   20.64 M     0.38
11            "quicksort template array with native < operator"   1.19 sec   16.85 M     0.47
12                          "sort array with native < operator"   0.97 sec   20.64 M     0.38
 Total absolute time for Function Objects: 19.28 sec
 -------------------------------------------------------------------------------
 Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./stepanov_vector.exe
./stepanov_vector
 test                            description   absolute   operations   ratio with
number                                        time       per second   test0
  0                 "double pointer verify2"   2.66 sec   1129.52 M     1.00
 1                 "double vector iterator"   2.66 sec   1129.52 M     1.00
 2                 "double pointer reverse"   2.66 sec   1129.52 M     1.00
 3         "double vector reverse_iterator"   2.66 sec   1129.09 M     1.00
 4         "double vector iterator reverse"   2.66 sec   1129.52 M     1.00
 5         "double pointer reverse reverse"   2.66 sec   1129.52 M     1.00
 6 "double vector reverse_iterator reverse"   2.67 sec   1122.75 M     1.01
 7 "double vector iterator reverse reverse"   2.66 sec   1129.52 M     1.00
 Total absolute time for Vector accumulate: 21.27 sec
 Vector accumulate Penalty: 1.00
  test                                           description   absolute   operations   ratio with
number                                                       time       per second   test0
  0                 "insertion_sort double pointer verify2"   0.91 sec    3.31 M     1.00
 1                 "insertion_sort double vector iterator"   0.89 sec    3.37 M     0.98
 2                 "insertion_sort double pointer reverse"   0.97 sec    3.10 M     1.07
 3         "insertion_sort double vector reverse_iterator"   0.98 sec    3.05 M     1.09
 4         "insertion_sort double vector iterator reverse"   0.97 sec    3.10 M     1.07
 5         "insertion_sort double pointer reverse reverse"   0.89 sec    3.37 M     0.98
 6 "insertion_sort double vector reverse_iterator reverse"   0.89 sec    3.37 M     0.98
 7 "insertion_sort double vector iterator reverse reverse"   0.89 sec    3.37 M     0.98
 Total absolute time for Vector Insertion Sort: 7.39 sec
 Vector Insertion Sort Penalty: 1.02
  test                                      description   absolute   operations   ratio with
number                                                  time       per second   test0
  0                 "quicksort double pointer verify2"   1.16 sec   20.76 M     1.00
 1                 "quicksort double vector iterator"   1.31 sec   18.28 M     1.14
 2                 "quicksort double pointer reverse"   1.26 sec   18.97 M     1.09
 3         "quicksort double vector reverse_iterator"   1.25 sec   19.20 M     1.08
 4         "quicksort double vector iterator reverse"   1.27 sec   18.96 M     1.10
 5         "quicksort double pointer reverse reverse"   1.28 sec   18.74 M     1.11
 6 "quicksort double vector reverse_iterator reverse"   1.28 sec   18.74 M     1.11
 7 "quicksort double vector iterator reverse reverse"   1.27 sec   18.96 M     1.10
 Total absolute time for Vector Quicksort: 10.08 sec
 Vector Quicksort Penalty: 1.10
  test                                      description   absolute   operations   ratio with
number                                                  time       per second   test0
  0                 "heap_sort double pointer verify2"   1.11 sec   21.64 M     1.00
 1                 "heap_sort double vector iterator"   1.14 sec   21.03 M     1.03
 2                 "heap_sort double pointer reverse"   1.44 sec   16.70 M     1.30
 3         "heap_sort double vector reverse_iterator"   1.47 sec   16.34 M     1.32
 4         "heap_sort double vector iterator reverse"   1.47 sec   16.34 M     1.32
 5         "heap_sort double pointer reverse reverse"   1.14 sec   21.03 M     1.03
 6 "heap_sort double vector reverse_iterator reverse"   1.14 sec   21.05 M     1.03
 7 "heap_sort double vector iterator reverse reverse"   1.14 sec   21.03 M     1.03
 Total absolute time for Vector Heap Sort: 10.05 sec
 Vector Heap Sort Penalty: 1.14
 --------------------------------------------------------------------------------
 Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./stepanov_abstraction.exe
./stepanov_abstraction
 test                        description   absolute   operations   ratio with
number                                    time       per second   test0
  0                     "double pointer"   3.55 sec   1128.03 M     1.00
 1               "double pointer_class"   3.53 sec   1132.50 M     1.00
 2         "DoubleValueWrapper pointer"   3.55 sec   1127.71 M     1.00
 3   "DoubleValueWrapper pointer_class"   3.53 sec   1132.82 M     1.00
 4       "DoubleValueWrapper10 pointer"   3.53 sec   1132.82 M     1.00
 5 "DoubleValueWrapper10 pointer_class"   3.55 sec   1127.71 M     1.00
 Total absolute time for Abstraction Accumulate: 21.23 sec
 Abstraction Accumulate Penalty: 1.00
  test                                       description   absolute   operations   ratio with
number                                                   time       per second   test0
  0                     "insertion_sort double pointer"   0.61 sec    3.28 M     1.00
 1               "insertion_sort double pointer_class"   0.58 sec    3.46 M     0.95
 2         "insertion_sort DoubleValueWrapper pointer"   0.61 sec    3.28 M     1.00
 3   "insertion_sort DoubleValueWrapper pointer_class"   0.59 sec    3.37 M     0.98
 4       "insertion_sort DoubleValueWrapper10 pointer"   0.61 sec    3.28 M     1.00
 5 "insertion_sort DoubleValueWrapper10 pointer_class"   0.61 sec    3.28 M     1.00
 Total absolute time for Abstraction Insertion Sort: 3.61 sec
 Abstraction Insertion Sort Penalty: 0.99
  test                                  description   absolute   operations   ratio with
number                                              time       per second   test0
  0                     "quicksort double pointer"   0.77 sec   20.89 M     1.00
 1               "quicksort double pointer_class"   0.88 sec   18.29 M     1.14
 2         "quicksort DoubleValueWrapper pointer"   0.77 sec   20.89 M     1.00
 3   "quicksort DoubleValueWrapper pointer_class"   0.88 sec   18.29 M     1.14
 4       "quicksort DoubleValueWrapper10 pointer"   0.80 sec   20.10 M     1.04
 5 "quicksort DoubleValueWrapper10 pointer_class"   0.89 sec   17.96 M     1.16
 Total absolute time for Abstraction Quicksort: 4.97 sec
 Abstraction Quicksort Penalty: 1.10
  test                                  description   absolute   operations   ratio with
number                                              time       per second   test0
  0                     "heap_sort double pointer"   0.73 sec   21.80 M     1.00
 1               "heap_sort double pointer_class"   0.75 sec   21.33 M     1.02
 2         "heap_sort DoubleValueWrapper pointer"   0.75 sec   21.33 M     1.02
 3   "heap_sort DoubleValueWrapper pointer_class"   0.73 sec   21.77 M     1.00
 4       "heap_sort DoubleValueWrapper10 pointer"   0.75 sec   21.33 M     1.02
 5 "heap_sort DoubleValueWrapper10 pointer_class"   0.75 sec   21.33 M     1.02
 Total absolute time for Abstraction Heap Sort: 4.47 sec
 Abstraction Heap Sort Penalty: 1.02
 --------------------------------------------------------------------------------
 Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./simple_types_loop_invariant.exe
./simple_types_loop_invariant
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                  "int8_t variable add"   0.05 sec   34782.61 M     1.00
 1          "int8_t variable add hoisted"   0.95 sec   1677.15 M     20.74
 2        "int8_t multiple variable adds"   0.05 sec   34782.61 M     1.00
 3             "int8_t variable subtract"   0.05 sec   34042.55 M     1.02
 4   "int8_t multiple variable subtracts"   0.05 sec   34042.55 M     1.02
 5             "int8_t variable multiply"   0.12 sec   12800.00 M     2.72
 6  "int8_t multiple variable multiplies"   0.12 sec   12800.00 M     2.72
 7 "int8_t multiple variable multiplies2"   0.05 sec   34042.55 M     1.02
 8               "int8_t variable divide"   5.22 sec   306.57 M     113.46
 9     "int8_t multiple variable divides"  20.22 sec   79.13 M     439.54
10    "int8_t multiple variable divides2"   0.81 sec   1970.44 M     17.65
11       "int8_t multiple variable mixed"   0.86 sec   1862.63 M     18.67
12                  "int8_t variable and"   0.05 sec   34042.55 M     1.02
13         "int8_t multiple variable and"   0.06 sec   25396.83 M     1.37
14                   "int8_t variable or"   0.05 sec   34042.55 M     1.02
15          "int8_t multiple variable or"   0.05 sec   34042.55 M     1.02
16                  "int8_t variable xor"   0.06 sec   25806.45 M     1.35
17         "int8_t multiple variable xor"   0.05 sec   34042.55 M     1.02
 Total absolute time for int8_t loop invariant: 28.86 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                  "uint8_t variable add"   0.06 sec   25806.45 M     1.00
 1          "uint8_t variable add hoisted"   0.94 sec   1705.76 M     15.13
 2        "uint8_t multiple variable adds"   0.05 sec   34042.55 M     0.76
 3             "uint8_t variable subtract"   0.03 sec   51612.90 M     0.50
 4   "uint8_t multiple variable subtracts"   0.05 sec   34042.55 M     0.76
 5             "uint8_t variable multiply"   0.12 sec   12800.00 M     2.02
 6  "uint8_t multiple variable multiplies"   0.12 sec   12800.00 M     2.02
 7 "uint8_t multiple variable multiplies2"   0.05 sec   34042.55 M     0.76
 8               "uint8_t variable divide"   5.22 sec   306.57 M     84.18
 9     "uint8_t multiple variable divides"  21.16 sec   75.63 M     341.23
10    "uint8_t multiple variable divides2"   0.05 sec   34042.55 M     0.76
11       "uint8_t multiple variable mixed"   0.86 sec   1862.63 M     13.85
12                  "uint8_t variable and"   0.06 sec   25396.83 M     1.02
13         "uint8_t multiple variable and"   0.05 sec   34782.61 M     0.74
14                   "uint8_t variable or"   0.06 sec   25396.83 M     1.02
15          "uint8_t multiple variable or"   0.05 sec   34042.55 M     0.76
16                  "uint8_t variable xor"   0.06 sec   25806.45 M     1.00
17         "uint8_t multiple variable xor"   0.05 sec   34042.55 M     0.76
 Total absolute time for uint8_t loop invariant: 29.03 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                  "int16_t variable add"   0.09 sec   17021.28 M     1.00
 1          "int16_t variable add hoisted"   0.95 sec   1678.91 M     10.14
 2        "int16_t multiple variable adds"   0.09 sec   17021.28 M     1.00
 3             "int16_t variable subtract"   0.08 sec   20512.82 M     0.83
 4   "int16_t multiple variable subtracts"   0.09 sec   17021.28 M     1.00
 5             "int16_t variable multiply"   0.12 sec   12800.00 M     1.33
 6  "int16_t multiple variable multiplies"   0.12 sec   12800.00 M     1.33
 7 "int16_t multiple variable multiplies2"   0.09 sec   17204.30 M     0.99
 8               "int16_t variable divide"   5.24 sec   305.64 M     55.69
 9     "int16_t multiple variable divides"  20.22 sec   79.13 M     215.10
10    "int16_t multiple variable divides2"   0.25 sec   6400.00 M     2.66
11       "int16_t multiple variable mixed"   0.30 sec   5405.41 M     3.15
12                  "int16_t variable and"   0.11 sec   14545.45 M     1.17
13         "int16_t multiple variable and"   0.11 sec   14678.90 M     1.16
14                   "int16_t variable or"   0.11 sec   14545.45 M     1.17
15          "int16_t multiple variable or"   0.09 sec   17204.30 M     0.99
16                  "int16_t variable xor"   0.11 sec   14545.45 M     1.17
17         "int16_t multiple variable xor"   0.11 sec   14678.90 M     1.16
 Total absolute time for int16_t loop invariant: 28.30 sec
 test                            description   absolute   operations   ratio with
number                                        time       per second   test0
  0                  "uint16_t variable add"   0.09 sec   17021.28 M     1.00
 1          "uint16_t variable add hoisted"   0.95 sec   1678.91 M     10.14
 2        "uint16_t multiple variable adds"   0.09 sec   17021.28 M     1.00
 3             "uint16_t variable subtract"   0.08 sec   20512.82 M     0.83
 4   "uint16_t multiple variable subtracts"   0.09 sec   17021.28 M     1.00
 5             "uint16_t variable multiply"   0.12 sec   12800.00 M     1.33
 6  "uint16_t multiple variable multiplies"   0.11 sec   14678.90 M     1.16
 7 "uint16_t multiple variable multiplies2"   0.09 sec   17021.28 M     1.00
 8               "uint16_t variable divide"   5.08 sec   315.08 M     54.02
 9     "uint16_t multiple variable divides"  23.39 sec   68.41 M     248.83
10    "uint16_t multiple variable divides2"   0.09 sec   17021.28 M     1.00
11       "uint16_t multiple variable mixed"   0.30 sec   5387.21 M     3.16
12                  "uint16_t variable and"   0.11 sec   14678.90 M     1.16
13         "uint16_t multiple variable and"   0.11 sec   14545.45 M     1.17
14                   "uint16_t variable or"   0.09 sec   17021.28 M     1.00
15          "uint16_t multiple variable or"   0.11 sec   14678.90 M     1.16
16                  "uint16_t variable xor"   0.11 sec   14678.90 M     1.16
17         "uint16_t multiple variable xor"   0.11 sec   14545.45 M     1.17
 Total absolute time for uint16_t loop invariant: 31.14 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                  "int32_t variable add"   0.19 sec   8556.15 M     1.00
 1          "int32_t variable add hoisted"   0.17 sec   9302.33 M     0.92
 2        "int32_t multiple variable adds"   0.19 sec   8510.64 M     1.01
 3             "int32_t variable subtract"   0.19 sec   8556.15 M     1.00
 4   "int32_t multiple variable subtracts"   0.17 sec   9302.33 M     0.92
 5             "int32_t variable multiply"   0.45 sec   3532.01 M     2.42
 6  "int32_t multiple variable multiplies"   0.48 sec   3305.79 M     2.59
 7 "int32_t multiple variable multiplies2"   0.19 sec   8510.64 M     1.01
 8               "int32_t variable divide"   5.22 sec   306.57 M     27.91
 9     "int32_t multiple variable divides"  21.47 sec   74.53 M     114.80
10    "int32_t multiple variable divides2"   0.19 sec   8510.64 M     1.01
11       "int32_t multiple variable mixed"   0.23 sec   6837.61 M     1.25
12                  "int32_t variable and"   0.22 sec   7305.94 M     1.17
13         "int32_t multiple variable and"   0.22 sec   7305.94 M     1.17
14                   "int32_t variable or"   0.20 sec   7881.77 M     1.09
15          "int32_t multiple variable or"   0.22 sec   7305.94 M     1.17
16                  "int32_t variable xor"   0.22 sec   7339.45 M     1.17
17         "int32_t multiple variable xor"   0.22 sec   7305.94 M     1.17
 Total absolute time for int32_t loop invariant: 30.44 sec
 test                            description   absolute   operations   ratio with
number                                        time       per second   test0
  0                  "uint32_t variable add"   0.19 sec   8510.64 M     1.00
 1          "uint32_t variable add hoisted"   0.17 sec   9302.33 M     0.91
 2        "uint32_t multiple variable adds"   0.19 sec   8556.15 M     0.99
 3             "uint32_t variable subtract"   0.19 sec   8510.64 M     1.00
 4   "uint32_t multiple variable subtracts"   0.19 sec   8556.15 M     0.99
 5             "uint32_t variable multiply"   0.45 sec   3532.01 M     2.41
 6  "uint32_t multiple variable multiplies"   0.48 sec   3298.97 M     2.58
 7 "uint32_t multiple variable multiplies2"   0.19 sec   8556.15 M     0.99
 8               "uint32_t variable divide"   5.33 sec   300.30 M     28.34
 9     "uint32_t multiple variable divides"  21.19 sec   75.51 M     112.70
10    "uint32_t multiple variable divides2"   0.19 sec   8556.15 M     0.99
11       "uint32_t multiple variable mixed"   0.23 sec   6808.51 M     1.25
12                  "uint32_t variable and"   0.22 sec   7339.45 M     1.16
13         "uint32_t multiple variable and"   0.22 sec   7305.94 M     1.16
14                   "uint32_t variable or"   0.20 sec   7881.77 M     1.08
15          "uint32_t multiple variable or"   0.22 sec   7305.94 M     1.16
16                  "uint32_t variable xor"   0.22 sec   7305.94 M     1.16
17         "uint32_t multiple variable xor"   0.22 sec   7339.45 M     1.16
 Total absolute time for uint32_t loop invariant: 30.28 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                  "int64_t variable add"   0.44 sec   3652.97 M     1.00
 1          "int64_t variable add hoisted"   0.42 sec   3791.47 M     0.96
 2        "int64_t multiple variable adds"   0.45 sec   3532.01 M     1.03
 3             "int64_t variable subtract"   0.44 sec   3661.33 M     1.00
 4   "int64_t multiple variable subtracts"   0.44 sec   3652.97 M     1.00
 5             "int64_t variable multiply"   1.69 sec   948.43 M     3.85
 6  "int64_t multiple variable multiplies"   1.78 sec   897.87 M     4.07
 7 "int64_t multiple variable multiplies2"   0.44 sec   3661.33 M     1.00
 8               "int64_t variable divide"  15.14 sec   105.67 M     34.57
 9     "int64_t multiple variable divides"  53.77 sec   29.76 M     122.75
10    "int64_t multiple variable divides2"   0.45 sec   3524.23 M     1.04
11       "int64_t multiple variable mixed"   0.50 sec   3200.00 M     1.14
12                  "int64_t variable and"   0.48 sec   3305.79 M     1.11
13         "int64_t multiple variable and"   0.50 sec   3200.00 M     1.14
14                   "int64_t variable or"   0.48 sec   3305.79 M     1.11
15          "int64_t multiple variable or"   0.50 sec   3200.00 M     1.14
16                  "int64_t variable xor"   0.48 sec   3298.97 M     1.11
17         "int64_t multiple variable xor"   0.48 sec   3305.79 M     1.11
 Total absolute time for int64_t loop invariant: 78.89 sec
 test                            description   absolute   operations   ratio with
number                                        time       per second   test0
  0                  "uint64_t variable add"   0.44 sec   3652.97 M     1.00
 1          "uint64_t variable add hoisted"   0.45 sec   3532.01 M     1.03
 2        "uint64_t multiple variable adds"   0.44 sec   3661.33 M     1.00
 3             "uint64_t variable subtract"   0.44 sec   3652.97 M     1.00
 4   "uint64_t multiple variable subtracts"   0.44 sec   3661.33 M     1.00
 5             "uint64_t variable multiply"   1.70 sec   939.52 M     3.89
 6  "uint64_t multiple variable multiplies"   1.78 sec   897.87 M     4.07
 7 "uint64_t multiple variable multiplies2"   0.44 sec   3661.33 M     1.00
 8               "uint64_t variable divide"  13.05 sec   122.63 M     29.79
 9     "uint64_t multiple variable divides"  45.22 sec   35.38 M     103.24
10    "uint64_t multiple variable divides2"   0.45 sec   3532.01 M     1.03
11       "uint64_t multiple variable mixed"   0.50 sec   3200.00 M     1.14
12                  "uint64_t variable and"   0.50 sec   3200.00 M     1.14
13         "uint64_t multiple variable and"   0.50 sec   3200.00 M     1.14
14                   "uint64_t variable or"   0.48 sec   3298.97 M     1.11
15          "uint64_t multiple variable or"   0.50 sec   3200.00 M     1.14
16                  "uint64_t variable xor"   0.48 sec   3305.79 M     1.11
17         "uint64_t multiple variable xor"   0.50 sec   3200.00 M     1.14
 Total absolute time for uint64_t loop invariant: 68.31 sec
 test                         description   absolute   operations   ratio with
number                                     time       per second   test0
  0                  "float variable add"   1.42 sec   1125.18 M     1.00
 1          "float variable add hoisted"   1.42 sec   1125.18 M     1.00
 2        "float multiple variable adds"   2.41 sec   665.00 M     1.69
 3             "float variable subtract"   1.42 sec   1125.18 M     1.00
 4   "float multiple variable subtracts"   2.41 sec   665.00 M     1.69
 5             "float variable multiply"   1.42 sec   1125.18 M     1.00
 6  "float multiple variable multiplies"   1.92 sec   832.47 M     1.35
 7 "float multiple variable multiplies2"   1.42 sec   1125.18 M     1.00
 8               "float variable divide"   4.78 sec   334.66 M     3.36
 9     "float multiple variable divides"  22.92 sec   69.80 M     16.12
10    "float multiple variable divides2"   1.42 sec   1125.18 M     1.00
11       "float multiple variable mixed"   1.45 sec   1101.17 M     1.02
 Total absolute time for float loop invariant: 44.42 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                  "double variable add"   1.42 sec   1125.18 M     1.00
 1          "double variable add hoisted"   1.42 sec   1125.18 M     1.00
 2        "double multiple variable adds"   2.41 sec   665.00 M     1.69
 3             "double variable subtract"   1.42 sec   1125.18 M     1.00
 4   "double multiple variable subtracts"   2.41 sec   665.00 M     1.69
 5             "double variable multiply"   1.42 sec   1125.18 M     1.00
 6  "double multiple variable multiplies"   1.92 sec   832.47 M     1.35
 7 "double multiple variable multiplies2"   1.42 sec   1125.18 M     1.00
 8               "double variable divide"   4.75 sec   336.84 M     3.34
 9     "double multiple variable divides"  30.52 sec   52.43 M     21.46
10    "double multiple variable divides2"   1.42 sec   1125.18 M     1.00
11       "double multiple variable mixed"   1.45 sec   1101.17 M     1.02
 Total absolute time for double loop invariant: 51.98 sec
 --------------------------------------------------------------------------------
 Nico@CODEFOX-VM01 ~/C++Benchmarks
$ ./simple_types_constant_folding.exe
./simple_types_constant_folding
 test                         description   absolute   operations   ratio with
number                                     time       per second   test0
  0                     "int8_t constant"   0.00 sec     inf M     nan
 1                "int8_t add constants"   0.01 sec   1066666.67 M     inf
 2           "int8_t subtract constants"   0.00 sec     inf M     nan
 3           "int8_t multiply constants"   0.00 sec     inf M     nan
 4             "int8_t divide constants"   0.00 sec     inf M     nan
 5                "int8_t mod constants"   0.00 sec     inf M     nan
 6              "int8_t equal constants"   0.00 sec     inf M     nan
 7           "int8_t notequal constants"   0.00 sec     inf M     nan
 8       "int8_t greater than constants"   0.02 sec   1000000.00 M     inf
 9          "int8_t less than constants"   0.00 sec     inf M     nan
10 "int8_t greater than equal constants"   0.00 sec     inf M     nan
11    "int8_t less than equal constants"   0.00 sec     inf M     nan
12                "int8_t and constants"   0.00 sec     inf M     nan
13                 "int8_t or constants"   0.00 sec     inf M     nan
14                "int8_t xor constants"   0.00 sec     inf M     nan
 Total absolute time for int8_t simple constant folding: 0.03 sec
 test                         description   absolute   operations   ratio with
number                                     time       per second   test0
  0                 "int8_t constant add"   0.05 sec   34042.55 M     1.00
 1       "int8_t multiple constant adds"   0.05 sec   34042.55 M     1.00
 2            "int8_t constant subtract"   0.05 sec   34782.61 M     0.98
 3  "int8_t multiple constant subtracts"   0.05 sec   34042.55 M     1.00
 4            "int8_t constant multiply"   0.12 sec   12800.00 M     2.66
 5 "int8_t multiple constant multiplies"   0.12 sec   12800.00 M     2.66
 6  "int8_t multiple constant multiply2"   0.05 sec   34042.55 M     1.00
 7              "int8_t constant divide"   2.38 sec   673.68 M     50.53
 8    "int8_t multiple constant divides"   2.83 sec   565.77 M     60.17
 9    "int8_t multiple constant divide2"   0.05 sec   34042.55 M     1.00
10      "int8_t multiple constant mixed"   0.06 sec   25396.83 M     1.34
11                 "int8_t constant and"   0.05 sec   34042.55 M     1.00
12        "int8_t multiple constant and"   0.05 sec   34782.61 M     0.98
13                  "int8_t constant or"   0.06 sec   25396.83 M     1.34
14         "int8_t multiple constant or"   0.05 sec   34042.55 M     1.00
15                 "int8_t constant xor"   0.06 sec   25806.45 M     1.32
16        "int8_t multiple constant xor"   0.05 sec   34042.55 M     1.00
 Total absolute time for int8_t constant folding: 6.11 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                     "uint8_t constant"   0.00 sec     inf M     nan
 1                "uint8_t add constants"   0.00 sec     inf M     nan
 2           "uint8_t subtract constants"   0.02 sec   1000000.00 M     inf
 3           "uint8_t multiply constants"   0.00 sec     inf M     nan
 4             "uint8_t divide constants"   0.00 sec     inf M     nan
 5                "uint8_t mod constants"   0.00 sec     inf M     nan
 6              "uint8_t equal constants"   0.00 sec     inf M     nan
 7           "uint8_t notequal constants"   0.00 sec     inf M     nan
 8       "uint8_t greater than constants"   0.00 sec     inf M     nan
 9          "uint8_t less than constants"   0.00 sec     inf M     nan
10 "uint8_t greater than equal constants"   0.00 sec     inf M     nan
11    "uint8_t less than equal constants"   0.00 sec     inf M     nan
12                "uint8_t and constants"   0.00 sec     inf M     nan
13                 "uint8_t or constants"   0.00 sec     inf M     nan
14                "uint8_t xor constants"   0.01 sec   1066666.67 M     inf
 Total absolute time for uint8_t simple constant folding: 0.03 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                 "uint8_t constant add"   0.05 sec   34042.55 M     1.00
 1       "uint8_t multiple constant adds"   0.03 sec   50000.00 M     0.68
 2            "uint8_t constant subtract"   0.05 sec   34782.61 M     0.98
 3  "uint8_t multiple constant subtracts"   0.05 sec   34042.55 M     1.00
 4            "uint8_t constant multiply"   0.14 sec   11347.52 M     3.00
 5 "uint8_t multiple constant multiplies"   0.11 sec   14678.90 M     2.32
 6  "uint8_t multiple constant multiply2"   0.05 sec   34042.55 M     1.00
 7              "uint8_t constant divide"   1.08 sec   1484.23 M     22.94
 8    "uint8_t multiple constant divides"   1.08 sec   1484.23 M     22.94
 9    "uint8_t multiple constant divide2"   0.05 sec   34042.55 M     1.00
10      "uint8_t multiple constant mixed"   0.05 sec   34042.55 M     1.00
11                 "uint8_t constant and"   0.06 sec   25396.83 M     1.34
12        "uint8_t multiple constant and"   0.05 sec   34042.55 M     1.00
13                  "uint8_t constant or"   0.06 sec   25806.45 M     1.32
14         "uint8_t multiple constant or"   0.05 sec   34042.55 M     1.00
15                 "uint8_t constant xor"   0.06 sec   25806.45 M     1.32
16        "uint8_t multiple constant xor"   0.05 sec   34042.55 M     1.00
 Total absolute time for uint8_t constant folding: 3.05 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                     "int16_t constant"   0.00 sec     inf M     nan
 1                "int16_t add constants"   0.00 sec     inf M     nan
 2           "int16_t subtract constants"   0.02 sec   1000000.00 M     inf
 3           "int16_t multiply constants"   0.00 sec     inf M     nan
 4             "int16_t divide constants"   0.00 sec     inf M     nan
 5                "int16_t mod constants"   0.00 sec     inf M     nan
 6              "int16_t equal constants"   0.00 sec     inf M     nan
 7           "int16_t notequal constants"   0.00 sec     inf M     nan
 8       "int16_t greater than constants"   0.00 sec     inf M     nan
 9          "int16_t less than constants"   0.00 sec     inf M     nan
10 "int16_t greater than equal constants"   0.02 sec   1000000.00 M     inf
11    "int16_t less than equal constants"   0.00 sec     inf M     nan
12                "int16_t and constants"   0.00 sec     inf M     nan
13                 "int16_t or constants"   0.00 sec     inf M     nan
14                "int16_t xor constants"   0.00 sec     inf M     nan
 Total absolute time for int16_t simple constant folding: 0.03 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                 "int16_t constant add"   0.09 sec   17204.30 M     1.00
 1       "int16_t multiple constant adds"   0.09 sec   17021.28 M     1.01
 2            "int16_t constant subtract"   0.08 sec   20512.82 M     0.84
 3  "int16_t multiple constant subtracts"   0.11 sec   14545.45 M     1.18
 4            "int16_t constant multiply"   0.11 sec   14678.90 M     1.17
 5 "int16_t multiple constant multiplies"   0.12 sec   12800.00 M     1.34
 6  "int16_t multiple constant multiply2"   0.09 sec   17021.28 M     1.01
 7              "int16_t constant divide"   2.44 sec   656.54 M     26.20
 8    "int16_t multiple constant divides"   2.78 sec   575.33 M     29.90
 9    "int16_t multiple constant divide2"   0.11 sec   14545.45 M     1.18
10      "int16_t multiple constant mixed"   0.08 sec   20512.82 M     0.84
11                 "int16_t constant and"   0.11 sec   14678.90 M     1.17
12        "int16_t multiple constant and"   0.11 sec   14545.45 M     1.18
13                  "int16_t constant or"   0.11 sec   14678.90 M     1.17
14         "int16_t multiple constant or"   0.11 sec   14678.90 M     1.17
15                 "int16_t constant xor"   0.11 sec   14545.45 M     1.18
16        "int16_t multiple constant xor"   0.11 sec   14678.90 M     1.17
 Total absolute time for int16_t constant folding: 6.77 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                     "uint16_t constant"   0.00 sec     inf M     nan
 1                "uint16_t add constants"   0.00 sec     inf M     nan
 2           "uint16_t subtract constants"   0.00 sec     inf M     nan
 3           "uint16_t multiply constants"   0.00 sec     inf M     nan
 4             "uint16_t divide constants"   0.00 sec     inf M     nan
 5                "uint16_t mod constants"   0.00 sec     inf M     nan
 6              "uint16_t equal constants"   0.00 sec     inf M     nan
 7           "uint16_t notequal constants"   0.00 sec     inf M     nan
 8       "uint16_t greater than constants"   0.02 sec   1000000.00 M     inf
 9          "uint16_t less than constants"   0.00 sec     inf M     nan
10 "uint16_t greater than equal constants"   0.00 sec     inf M     nan
11    "uint16_t less than equal constants"   0.00 sec     inf M     nan
12                "uint16_t and constants"   0.00 sec     inf M     nan
13                 "uint16_t or constants"   0.00 sec     inf M     nan
14                "uint16_t xor constants"   0.00 sec     inf M     nan
 Total absolute time for uint16_t simple constant folding: 0.02 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                 "uint16_t constant add"   0.09 sec   17021.28 M     1.00
 1       "uint16_t multiple constant adds"   0.09 sec   17204.30 M     0.99
 2            "uint16_t constant subtract"   0.08 sec   20512.82 M     0.83
 3  "uint16_t multiple constant subtracts"   0.09 sec   17021.28 M     1.00
 4            "uint16_t constant multiply"   0.12 sec   12800.00 M     1.33
 5 "uint16_t multiple constant multiplies"   0.12 sec   12800.00 M     1.33
 6  "uint16_t multiple constant multiply2"   0.09 sec   17021.28 M     1.00
 7              "uint16_t constant divide"   0.83 sec   1932.37 M     8.81
 8    "uint16_t multiple constant divides"   0.84 sec   1895.73 M     8.98
 9    "uint16_t multiple constant divide2"   0.08 sec   20512.82 M     0.83
10      "uint16_t multiple constant mixed"   0.09 sec   17021.28 M     1.00
11                 "uint16_t constant and"   0.11 sec   14678.90 M     1.16
12        "uint16_t multiple constant and"   0.11 sec   14678.90 M     1.16
13                  "uint16_t constant or"   0.11 sec   14545.45 M     1.17
14         "uint16_t multiple constant or"   0.11 sec   14678.90 M     1.16
15                 "uint16_t constant xor"   0.11 sec   14545.45 M     1.17
16        "uint16_t multiple constant xor"   0.09 sec   17204.30 M     0.99
 Total absolute time for uint16_t constant folding: 3.19 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                     "int32_t constant"   0.02 sec   1000000.00 M     1.00
 1                "int32_t add constants"   0.00 sec     inf M     0.00
 2           "int32_t subtract constants"   0.00 sec     inf M     0.00
 3           "int32_t multiply constants"   0.00 sec     inf M     0.00
 4             "int32_t divide constants"   0.00 sec     inf M     0.00
 5                "int32_t mod constants"   0.00 sec     inf M     0.00
 6              "int32_t equal constants"   0.00 sec     inf M     0.00
 7           "int32_t notequal constants"   0.00 sec     inf M     0.00
 8       "int32_t greater than constants"   0.00 sec     inf M     0.00
 9          "int32_t less than constants"   0.00 sec     inf M     0.00
10 "int32_t greater than equal constants"   0.00 sec     inf M     0.00
11    "int32_t less than equal constants"   0.00 sec     inf M     0.00
12                "int32_t and constants"   0.00 sec     inf M     0.00
13                 "int32_t or constants"   0.02 sec   1000000.00 M     1.00
14                "int32_t xor constants"   0.00 sec     inf M     0.00
 Total absolute time for int32_t simple constant folding: 0.03 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                 "int32_t constant add"   0.17 sec   9356.73 M     1.00
 1       "int32_t multiple constant adds"   0.19 sec   8510.64 M     1.10
 2            "int32_t constant subtract"   0.17 sec   9302.33 M     1.01
 3  "int32_t multiple constant subtracts"   0.19 sec   8556.15 M     1.09
 4            "int32_t constant multiply"   0.45 sec   3532.01 M     2.65
 5 "int32_t multiple constant multiplies"   0.45 sec   3524.23 M     2.65
 6  "int32_t multiple constant multiply2"   0.19 sec   8556.15 M     1.09
 7              "int32_t constant divide"   2.22 sec   721.05 M     12.98
 8    "int32_t multiple constant divides"   2.67 sec   598.80 M     15.63
 9    "int32_t multiple constant divide2"   0.17 sec   9302.33 M     1.01
10      "int32_t multiple constant mixed"   0.19 sec   8556.15 M     1.09
11                 "int32_t constant and"   0.20 sec   7881.77 M     1.19
12        "int32_t multiple constant and"   0.22 sec   7305.94 M     1.28
13                  "int32_t constant or"   0.22 sec   7305.94 M     1.28
14         "int32_t multiple constant or"   0.22 sec   7339.45 M     1.27
15                 "int32_t constant xor"   0.22 sec   7305.94 M     1.28
16        "int32_t multiple constant xor"   0.20 sec   7881.77 M     1.19
 Total absolute time for int32_t constant folding: 8.34 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                     "uint32_t constant"   0.00 sec     inf M     nan
 1                "uint32_t add constants"   0.02 sec   1000000.00 M     inf
 2           "uint32_t subtract constants"   0.00 sec     inf M     nan
 3           "uint32_t multiply constants"   0.00 sec     inf M     nan
 4             "uint32_t divide constants"   0.00 sec     inf M     nan
 5                "uint32_t mod constants"   0.00 sec     inf M     nan
 6              "uint32_t equal constants"   0.00 sec     inf M     nan
 7           "uint32_t notequal constants"   0.00 sec     inf M     nan
 8       "uint32_t greater than constants"   0.00 sec     inf M     nan
 9          "uint32_t less than constants"   0.00 sec     inf M     nan
10 "uint32_t greater than equal constants"   0.00 sec     inf M     nan
11    "uint32_t less than equal constants"   0.00 sec     inf M     nan
12                "uint32_t and constants"   0.00 sec     inf M     nan
13                 "uint32_t or constants"   0.00 sec     inf M     nan
14                "uint32_t xor constants"   0.02 sec   1000000.00 M     inf
 Total absolute time for uint32_t simple constant folding: 0.03 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                 "uint32_t constant add"   0.17 sec   9356.73 M     1.00
 1       "uint32_t multiple constant adds"   0.19 sec   8510.64 M     1.10
 2            "uint32_t constant subtract"   0.19 sec   8556.15 M     1.09
 3  "uint32_t multiple constant subtracts"   0.19 sec   8510.64 M     1.10
 4            "uint32_t constant multiply"   0.45 sec   3532.01 M     2.65
 5 "uint32_t multiple constant multiplies"   0.45 sec   3532.01 M     2.65
 6  "uint32_t multiple constant multiply2"   0.19 sec   8510.64 M     1.10
 7              "uint32_t constant divide"   1.70 sec   939.52 M     9.96
 8    "uint32_t multiple constant divides"   1.69 sec   948.43 M     9.87
 9    "uint32_t multiple constant divide2"   0.19 sec   8510.64 M     1.10
10      "uint32_t multiple constant mixed"   0.19 sec   8556.15 M     1.09
11                 "uint32_t constant and"   0.22 sec   7305.94 M     1.28
12        "uint32_t multiple constant and"   0.20 sec   7881.77 M     1.19
13                  "uint32_t constant or"   0.22 sec   7305.94 M     1.28
14         "uint32_t multiple constant or"   0.22 sec   7305.94 M     1.28
15                 "uint32_t constant xor"   0.22 sec   7339.45 M     1.27
16        "uint32_t multiple constant xor"   0.22 sec   7305.94 M     1.28
 Total absolute time for uint32_t constant folding: 6.89 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                     "int64_t constant"   0.00 sec     inf M     nan
 1                "int64_t add constants"   0.00 sec     inf M     nan
 2           "int64_t subtract constants"   0.00 sec     inf M     nan
 3           "int64_t multiply constants"   0.00 sec     inf M     nan
 4             "int64_t divide constants"   0.00 sec     inf M     nan
 5                "int64_t mod constants"   0.00 sec     inf M     nan
 6              "int64_t equal constants"   0.00 sec     inf M     nan
 7           "int64_t notequal constants"   0.00 sec     inf M     nan
 8       "int64_t greater than constants"   0.00 sec     inf M     nan
 9          "int64_t less than constants"   0.00 sec     inf M     nan
10 "int64_t greater than equal constants"   0.00 sec     inf M     nan
11    "int64_t less than equal constants"   0.00 sec     inf M     nan
12                "int64_t and constants"   0.02 sec   1000000.00 M     inf
13                 "int64_t or constants"   0.00 sec     inf M     nan
14                "int64_t xor constants"   0.00 sec     inf M     nan
 Total absolute time for int64_t simple constant folding: 0.02 sec
 test                          description   absolute   operations   ratio with
number                                      time       per second   test0
  0                 "int64_t constant add"   0.44 sec   3661.33 M     1.00
 1       "int64_t multiple constant adds"   0.42 sec   3791.47 M     0.97
 2            "int64_t constant subtract"   0.44 sec   3652.97 M     1.00
 3  "int64_t multiple constant subtracts"   0.44 sec   3661.33 M     1.00
 4            "int64_t constant multiply"   1.70 sec   939.52 M     3.90
 5 "int64_t multiple constant multiplies"   1.69 sec   947.87 M     3.86
 6  "int64_t multiple constant multiply2"   0.44 sec   3661.33 M     1.00
 7              "int64_t constant divide"  15.34 sec   104.28 M     35.11
 8    "int64_t multiple constant divides"  15.22 sec   105.13 M     34.83
 9    "int64_t multiple constant divide2"   0.44 sec   3661.33 M     1.00
10      "int64_t multiple constant mixed"   0.44 sec   3652.97 M     1.00
11                 "int64_t constant and"   0.50 sec   3200.00 M     1.14
12        "int64_t multiple constant and"   0.50 sec   3200.00 M     1.14
13                  "int64_t constant or"   0.48 sec   3305.79 M     1.11
14         "int64_t multiple constant or"   0.50 sec   3200.00 M     1.14
15                 "int64_t constant xor"   0.50 sec   3200.00 M     1.14
16        "int64_t multiple constant xor"   0.50 sec   3200.00 M     1.14
 Total absolute time for int64_t constant folding: 39.98 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                     "uint64_t constant"   0.00 sec     inf M     nan
 1                "uint64_t add constants"   0.00 sec     inf M     nan
 2           "uint64_t subtract constants"   0.00 sec     inf M     nan
 3           "uint64_t multiply constants"   0.00 sec     inf M     nan
 4             "uint64_t divide constants"   0.00 sec     inf M     nan
 5                "uint64_t mod constants"   0.00 sec     inf M     nan
 6              "uint64_t equal constants"   0.00 sec     inf M     nan
 7           "uint64_t notequal constants"   0.00 sec     inf M     nan
 8       "uint64_t greater than constants"   0.00 sec     inf M     nan
 9          "uint64_t less than constants"   0.00 sec     inf M     nan
10 "uint64_t greater than equal constants"   0.02 sec   1000000.00 M     inf
11    "uint64_t less than equal constants"   0.00 sec     inf M     nan
12                "uint64_t and constants"   0.00 sec     inf M     nan
13                 "uint64_t or constants"   0.00 sec     inf M     nan
14                "uint64_t xor constants"   0.00 sec     inf M     nan
 Total absolute time for uint64_t simple constant folding: 0.02 sec
 test                           description   absolute   operations   ratio with
number                                       time       per second   test0
  0                 "uint64_t constant add"   0.45 sec   3532.01 M     1.00
 1       "uint64_t multiple constant adds"   0.44 sec   3661.33 M     0.96
 2            "uint64_t constant subtract"   0.44 sec   3652.97 M     0.97
 3  "uint64_t multiple constant subtracts"   0.44 sec   3661.33 M     0.96
 4            "uint64_t constant multiply"   1.70 sec   938.97 M     3.76
 5 "uint64_t multiple constant multiplies"   1.70 sec   939.52 M     3.76
 6  "uint64_t multiple constant multiply2"   0.45 sec   3532.01 M     1.00
 7              "uint64_t constant divide"  12.69 sec   126.11 M     28.01
 8    "uint64_t multiple constant divides"  12.73 sec   125.64 M     28.11
 9    "uint64_t multiple constant divide2"   0.44 sec   3661.33 M     0.96
10      "uint64_t multiple constant mixed"   0.44 sec   3652.97 M     0.97
11                 "uint64_t constant and"   0.50 sec   3200.00 M     1.10
12        "uint64_t multiple constant and"   0.50 sec   3200.00 M     1.10
13                  "uint64_t constant or"   0.50 sec   3200.00 M     1.10
14         "uint64_t multiple constant or"   0.50 sec   3200.00 M     1.10
15                 "uint64_t constant xor"   0.50 sec   3200.00 M     1.10
16        "uint64_t multiple constant xor"   0.50 sec   3200.00 M     1.10
 Total absolute time for uint64_t constant folding: 34.92 sec
 test              description   absolute   operations   ratio with
number                          time       per second   test0
  0           "float constant"  14.20 sec   1126.52 M     1.00
 1      "float add constants"  14.19 sec   1127.79 M     1.00
 2 "float subtract constants"  14.22 sec   1125.25 M     1.00
 3 "float multiply constants"  14.20 sec   1126.52 M     1.00
 4   "float divide constants"  14.20 sec   1126.52 M     1.00
 Total absolute time for float simple constant folding: 71.02 sec
 test                        description   absolute   operations   ratio with
number                                    time       per second   test0
  0                 "float constant add"   1.42 sec   1125.18 M     1.00
 1       "float multiple constant adds"   2.41 sec   665.00 M     1.69
 2            "float constant subtract"   1.42 sec   1125.18 M     1.00
 3  "float multiple constant subtracts"   2.41 sec   664.73 M     1.69
 4            "float constant multiply"   1.42 sec   1125.97 M     1.00
 5 "float multiple constant multiplies"   1.45 sec   1100.41 M     1.02
 6  "float multiple constant multiply2"   1.42 sec   1125.97 M     1.00
 7              "float constant divide"   6.64 sec   240.93 M     4.67
 8    "float multiple constant divides"  13.62 sec   117.43 M     9.58
 9    "float multiple constant divide2"   1.42 sec   1125.18 M     1.00
10      "float multiple constant mixed"   1.45 sec   1101.17 M     1.02
 Total absolute time for float constant folding: 35.09 sec
 test               description   absolute   operations   ratio with
number                           time       per second   test0
  0           "double constant"  14.20 sec   1126.52 M     1.00
 1      "double add constants"  14.22 sec   1125.25 M     1.00
 2 "double subtract constants"  14.20 sec   1126.52 M     1.00
 3 "double multiply constants"  14.20 sec   1126.52 M     1.00
 4   "double divide constants"  14.22 sec   1125.25 M     1.00
 Total absolute time for double simple constant folding: 71.05 sec
 test                         description   absolute   operations   ratio with
number                                     time       per second   test0
  0                 "double constant add"   1.42 sec   1125.18 M     1.00
 1       "double multiple constant adds"   2.41 sec   665.00 M     1.69
 2            "double constant subtract"   1.42 sec   1125.18 M     1.00
 3  "double multiple constant subtracts"   2.41 sec   665.00 M     1.69
 4            "double constant multiply"   1.42 sec   1125.18 M     1.00
 5 "double multiple constant multiplies"   1.45 sec   1101.17 M     1.02
 6  "double multiple constant multiply2"   1.42 sec   1125.18 M     1.00
 7              "double constant divide"  10.44 sec   153.30 M     7.34
 8    "double multiple constant divides"  21.22 sec   75.40 M     14.92
 9    "double multiple constant divide2"   1.42 sec   1125.18 M     1.00
10      "double multiple constant mixed"   1.45 sec   1101.17 M     1.02
 Total absolute time for double constant folding: 46.48 sec

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎