Skip to content

Conversation

@chfast
Copy link
Member

@chfast chfast commented Oct 26, 2022

Change stack overflow/underflow checks to stack pointers comparisons.
This gives better compiler optimizations. This gives around ~2% performance improvements.

@chfast chfast requested review from axic and yperbasis October 26, 2022 16:23
@codecov
Copy link

codecov bot commented Oct 26, 2022

Codecov Report

Merging #518 (f18d1f7) into master (c63b48c) will not change coverage.
The diff coverage is 100.00%.

Additional details and impacted files
@@ Coverage Diff @@ ## master #518 +/- ## ======================================= Coverage 97.97% 97.97% ======================================= Files 59 59 Lines 5680 5680 ======================================= Hits 5565 5565 Misses 115 115 
Flag Coverage Δ
blockchaintests 77.78% <100.00%> (ø)
statetests 26.82% <100.00%> (ø)
unittests 91.70% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
lib/evmone/baseline.cpp 100.00% <100.00%> (ø)
@chfast
Copy link
Member Author

chfast commented Oct 26, 2022

Benchmarks

Skylake 3.8 GHz, GCC 12
baseline/execute/main/blake2b_huff/empty_mean -0.0132 -0.0131 15 15 15 15 bnocgoto/execute/main/blake2b_huff/empty_mean -0.0079 -0.0078 15 15 15 15 baseline/execute/main/blake2b_huff/2805nulls_mean -0.0104 -0.0104 326 323 326 323 bnocgoto/execute/main/blake2b_huff/2805nulls_mean -0.0058 -0.0057 328 326 328 326 baseline/execute/main/blake2b_huff/5610nulls_mean -0.0131 -0.0130 636 628 636 628 bnocgoto/execute/main/blake2b_huff/5610nulls_mean +0.0051 +0.0052 639 642 639 642 baseline/execute/main/blake2b_huff/8415nulls_mean -0.0126 -0.0124 933 922 933 922 bnocgoto/execute/main/blake2b_huff/8415nulls_mean +0.0010 +0.0012 936 937 936 937 baseline/execute/main/blake2b_huff/65536nulls_mean -0.0084 -0.0083 7234 7174 7234 7174 bnocgoto/execute/main/blake2b_huff/65536nulls_mean -0.0024 -0.0023 7276 7259 7276 7259 baseline/execute/main/blake2b_shifts/2805nulls_mean -0.0099 -0.0098 2668 2641 2668 2641 bnocgoto/execute/main/blake2b_shifts/2805nulls_mean -0.0050 -0.0049 2847 2832 2846 2832 baseline/execute/main/blake2b_shifts/5610nulls_mean -0.0036 -0.0035 5312 5293 5312 5293 bnocgoto/execute/main/blake2b_shifts/5610nulls_mean -0.0068 -0.0066 5684 5645 5683 5645 baseline/execute/main/blake2b_shifts/8415nulls_mean -0.0117 -0.0116 7993 7899 7992 7899 bnocgoto/execute/main/blake2b_shifts/8415nulls_mean -0.0057 -0.0056 8497 8448 8496 8449 baseline/execute/main/blake2b_shifts/65536nulls_mean -0.0104 -0.0103 61734 61090 61729 61093 bnocgoto/execute/main/blake2b_shifts/65536nulls_mean -0.0101 -0.0100 66141 65473 66136 65475 baseline/execute/main/sha1_divs/empty_mean -0.0037 -0.0036 50 49 50 49 bnocgoto/execute/main/sha1_divs/empty_mean -0.0271 -0.0269 53 51 53 51 baseline/execute/main/sha1_divs/1351_mean +0.0021 +0.0022 1056 1058 1056 1058 bnocgoto/execute/main/sha1_divs/1351_mean -0.0292 -0.0291 1102 1070 1102 1070 baseline/execute/main/sha1_divs/2737_mean +0.0009 +0.0010 2054 2056 2054 2056 bnocgoto/execute/main/sha1_divs/2737_mean -0.0301 -0.0300 2141 2076 2141 2076 baseline/execute/main/sha1_divs/5311_mean +0.0049 +0.0051 4012 4032 4012 4032 bnocgoto/execute/main/sha1_divs/5311_mean -0.0301 -0.0300 4183 4057 4182 4057 baseline/execute/main/sha1_divs/65536_mean +0.0006 +0.0007 48925 48952 48921 48954 bnocgoto/execute/main/sha1_divs/65536_mean -0.0246 -0.0245 50705 49457 50701 49459 baseline/execute/main/sha1_shifts/empty_mean -0.0174 -0.0173 25 24 25 24 bnocgoto/execute/main/sha1_shifts/empty_mean +0.0184 +0.0185 26 26 26 26 baseline/execute/main/sha1_shifts/1351_mean -0.0102 -0.0101 526 520 525 520 bnocgoto/execute/main/sha1_shifts/1351_mean +0.0186 +0.0187 552 562 552 562 baseline/execute/main/sha1_shifts/2737_mean -0.0033 -0.0032 1019 1016 1019 1016 bnocgoto/execute/main/sha1_shifts/2737_mean +0.0139 +0.0140 1080 1095 1080 1095 baseline/execute/main/sha1_shifts/5311_mean -0.0001 +0.0000 1994 1994 1994 1994 bnocgoto/execute/main/sha1_shifts/5311_mean +0.0086 +0.0087 2118 2136 2118 2136 baseline/execute/main/sha1_shifts/65536_mean -0.0050 -0.0049 24313 24190 24311 24192 bnocgoto/execute/main/sha1_shifts/65536_mean +0.0209 +0.0210 25662 26198 25660 26198 baseline/execute/main/weierstrudel/0_mean -0.0046 -0.0045 228 227 228 227 bnocgoto/execute/main/weierstrudel/0_mean -0.0096 -0.0095 227 225 227 225 baseline/execute/main/weierstrudel/1_mean +0.0044 +0.0045 489 491 489 491 bnocgoto/execute/main/weierstrudel/1_mean -0.0047 -0.0046 492 490 492 490 baseline/execute/main/weierstrudel/3_mean +0.0048 +0.0050 767 770 767 770 bnocgoto/execute/main/weierstrudel/3_mean -0.0094 -0.0093 773 766 773 766 baseline/execute/main/weierstrudel/9_mean +0.0028 +0.0029 1592 1596 1592 1597 bnocgoto/execute/main/weierstrudel/9_mean -0.0044 -0.0043 1597 1590 1597 1590 baseline/execute/main/weierstrudel/14_mean +0.0005 +0.0006 2281 2282 2281 2282 bnocgoto/execute/main/weierstrudel/14_mean -0.0052 -0.0051 2288 2276 2287 2276 baseline/execute/micro/JUMPDEST_n0/empty_mean -0.0068 -0.0067 655 651 655 651 bnocgoto/execute/micro/JUMPDEST_n0/empty_mean +0.0049 +0.0050 627 630 627 630 baseline/execute/micro/jump_around/empty_mean +0.0523 +0.0524 21 22 21 22 bnocgoto/execute/micro/jump_around/empty_mean -0.0393 -0.0392 23 22 23 22 baseline/execute/micro/loop_with_many_jumpdests/empty_mean +0.0040 +0.0041 9905 9944 9904 9945 bnocgoto/execute/micro/loop_with_many_jumpdests/empty_mean +0.0051 +0.0052 9531 9580 9531 9581 baseline/execute/micro/memory_grow_mload/nogrow_mean -0.0475 -0.0474 64 61 64 61 bnocgoto/execute/micro/memory_grow_mload/nogrow_mean -0.0291 -0.0290 64 62 64 62 baseline/execute/micro/memory_grow_mload/by1_mean -0.0379 -0.0378 65 62 65 62 bnocgoto/execute/micro/memory_grow_mload/by1_mean -0.0248 -0.0248 65 63 65 63 baseline/execute/micro/memory_grow_mload/by16_mean -0.0234 -0.0233 74 72 74 72 bnocgoto/execute/micro/memory_grow_mload/by16_mean -0.0365 -0.0364 75 72 75 72 baseline/execute/micro/memory_grow_mload/by32_mean -0.0282 -0.0281 81 79 81 79 bnocgoto/execute/micro/memory_grow_mload/by32_mean -0.0258 -0.0257 82 80 82 80 baseline/execute/micro/memory_grow_mstore/nogrow_mean -0.0439 -0.0438 50 48 50 48 bnocgoto/execute/micro/memory_grow_mstore/nogrow_mean -0.0488 -0.0487 51 49 51 49 baseline/execute/micro/memory_grow_mstore/by1_mean -0.0418 -0.0417 51 49 51 49 bnocgoto/execute/micro/memory_grow_mstore/by1_mean -0.0400 -0.0399 52 50 52 50 baseline/execute/micro/memory_grow_mstore/by16_mean -0.0353 -0.0352 60 57 60 57 bnocgoto/execute/micro/memory_grow_mstore/by16_mean -0.0393 -0.0392 61 59 61 59 baseline/execute/micro/memory_grow_mstore/by32_mean -0.0266 -0.0265 69 67 69 67 bnocgoto/execute/micro/memory_grow_mstore/by32_mean -0.0283 -0.0282 70 68 70 68 baseline/execute/micro/signextend/zero_mean -0.1000 -0.0998 60 54 60 54 bnocgoto/execute/micro/signextend/zero_mean -0.0469 -0.0468 64 61 64 61 baseline/execute/micro/signextend/one_mean -0.1056 -0.1054 60 54 60 54 bnocgoto/execute/micro/signextend/one_mean -0.0463 -0.0462 64 61 64 61 OVERALL_GEOMEAN -0.0150 -0.0149 0 0 0 0 
Skylake 3.8 GHz, Clang 15
baseline/execute/main/blake2b_huff/empty_mean -0.0112 -0.0113 12 12 12 12 bnocgoto/execute/main/blake2b_huff/empty_mean -0.0185 -0.0185 14 14 14 14 baseline/execute/main/blake2b_huff/2805nulls_mean -0.0130 -0.0131 258 254 258 254 bnocgoto/execute/main/blake2b_huff/2805nulls_mean -0.0204 -0.0204 301 294 301 294 baseline/execute/main/blake2b_huff/5610nulls_mean -0.0112 -0.0116 504 498 504 498 bnocgoto/execute/main/blake2b_huff/5610nulls_mean -0.0158 -0.0158 588 578 588 578 baseline/execute/main/blake2b_huff/8415nulls_mean -0.0071 -0.0075 738 733 738 733 bnocgoto/execute/main/blake2b_huff/8415nulls_mean -0.0205 -0.0208 861 844 861 844 baseline/execute/main/blake2b_huff/65536nulls_mean -0.0124 -0.0126 5736 5665 5735 5662 bnocgoto/execute/main/blake2b_huff/65536nulls_mean -0.0167 -0.0168 6699 6587 6699 6587 baseline/execute/main/blake2b_shifts/2805nulls_mean -0.0294 -0.0299 2380 2310 2380 2309 bnocgoto/execute/main/blake2b_shifts/2805nulls_mean -0.0129 -0.0131 2837 2800 2837 2800 baseline/execute/main/blake2b_shifts/5610nulls_mean -0.0289 -0.0290 4752 4615 4752 4614 bnocgoto/execute/main/blake2b_shifts/5610nulls_mean -0.0107 -0.0111 5654 5594 5654 5591 baseline/execute/main/blake2b_shifts/8415nulls_mean -0.0316 -0.0319 7124 6898 7124 6897 bnocgoto/execute/main/blake2b_shifts/8415nulls_mean -0.0127 -0.0127 8466 8359 8466 8359 baseline/execute/main/blake2b_shifts/65536nulls_mean -0.0278 -0.0284 55069 53539 55067 53504 bnocgoto/execute/main/blake2b_shifts/65536nulls_mean -0.0172 -0.0173 65750 64618 65749 64611 baseline/execute/main/sha1_divs/empty_mean -0.0184 -0.0184 49 48 49 48 bnocgoto/execute/main/sha1_divs/empty_mean -0.0102 -0.0105 51 51 51 51 baseline/execute/main/sha1_divs/1351_mean -0.0145 -0.0145 1033 1018 1033 1018 bnocgoto/execute/main/sha1_divs/1351_mean -0.0103 -0.0107 1076 1065 1076 1064 baseline/execute/main/sha1_divs/2737_mean -0.0156 -0.0158 2018 1986 2018 1986 bnocgoto/execute/main/sha1_divs/2737_mean -0.0163 -0.0165 2108 2074 2108 2073 baseline/execute/main/sha1_divs/5311_mean -0.0078 -0.0079 3936 3905 3936 3905 bnocgoto/execute/main/sha1_divs/5311_mean -0.0123 -0.0124 4100 4050 4100 4049 baseline/execute/main/sha1_divs/65536_mean -0.0145 -0.0145 47903 47211 47900 47206 bnocgoto/execute/main/sha1_divs/65536_mean -0.0132 -0.0133 49944 49286 49944 49278 baseline/execute/main/sha1_shifts/empty_mean -0.0311 -0.0316 28 27 28 27 bnocgoto/execute/main/sha1_shifts/empty_mean -0.0143 -0.0146 30 30 30 30 baseline/execute/main/sha1_shifts/1351_mean -0.0271 -0.0275 597 580 597 580 bnocgoto/execute/main/sha1_shifts/1351_mean +0.0036 +0.0033 641 644 641 643 baseline/execute/main/sha1_shifts/2737_mean -0.0290 -0.0293 1166 1132 1166 1132 bnocgoto/execute/main/sha1_shifts/2737_mean -0.0022 -0.0023 1253 1250 1253 1250 baseline/execute/main/sha1_shifts/5311_mean -0.0273 -0.0279 2274 2212 2274 2210 bnocgoto/execute/main/sha1_shifts/5311_mean +0.0016 +0.0013 2445 2449 2445 2448 baseline/execute/main/sha1_shifts/65536_mean -0.0256 -0.0259 27717 27007 27714 26996 bnocgoto/execute/main/sha1_shifts/65536_mean -0.0028 -0.0034 29883 29799 29882 29781 baseline/execute/main/weierstrudel/0_mean -0.0083 -0.0086 158 156 158 156 bnocgoto/execute/main/weierstrudel/0_mean -0.0111 -0.0113 159 157 159 157 baseline/execute/main/weierstrudel/1_mean -0.0111 -0.0112 342 338 342 338 bnocgoto/execute/main/weierstrudel/1_mean -0.0148 -0.0153 351 346 351 345 baseline/execute/main/weierstrudel/3_mean -0.0090 -0.0094 533 528 533 528 bnocgoto/execute/main/weierstrudel/3_mean -0.0179 -0.0180 546 537 546 537 baseline/execute/main/weierstrudel/9_mean -0.0187 -0.0191 1102 1081 1102 1081 bnocgoto/execute/main/weierstrudel/9_mean -0.0179 -0.0183 1131 1111 1131 1110 baseline/execute/main/weierstrudel/14_mean -0.0170 -0.0176 1580 1553 1580 1552 bnocgoto/execute/main/weierstrudel/14_mean -0.0173 -0.0177 1620 1592 1620 1591 baseline/execute/micro/JUMPDEST_n0/empty_mean -0.0201 -0.0203 654 641 654 641 bnocgoto/execute/micro/JUMPDEST_n0/empty_mean +0.0013 +0.0012 696 697 696 697 baseline/execute/micro/jump_around/empty_mean -0.0347 -0.0347 26 25 26 25 bnocgoto/execute/micro/jump_around/empty_mean +0.0010 +0.0007 27 27 27 27 baseline/execute/micro/loop_with_many_jumpdests/empty_mean +0.0071 +0.0063 9865 9935 9864 9927 bnocgoto/execute/micro/loop_with_many_jumpdests/empty_mean +0.0007 +0.0006 10555 10562 10554 10561 baseline/execute/micro/memory_grow_mload/nogrow_mean -0.0415 -0.0416 47 45 47 45 bnocgoto/execute/micro/memory_grow_mload/nogrow_mean -0.0341 -0.0342 50 49 50 49 baseline/execute/micro/memory_grow_mload/by1_mean -0.0194 -0.0196 51 50 51 50 bnocgoto/execute/micro/memory_grow_mload/by1_mean -0.0281 -0.0288 54 52 54 52 baseline/execute/micro/memory_grow_mload/by16_mean -0.0103 -0.0105 56 56 56 56 bnocgoto/execute/micro/memory_grow_mload/by16_mean -0.0099 -0.0100 59 58 59 58 baseline/execute/micro/memory_grow_mload/by32_mean -0.0095 -0.0098 63 62 63 62 bnocgoto/execute/micro/memory_grow_mload/by32_mean -0.0278 -0.0278 70 68 70 68 baseline/execute/micro/memory_grow_mstore/nogrow_mean -0.0158 -0.0162 48 47 48 47 bnocgoto/execute/micro/memory_grow_mstore/nogrow_mean +0.0378 +0.0376 51 53 51 53 baseline/execute/micro/memory_grow_mstore/by1_mean -0.0147 -0.0149 52 51 52 51 bnocgoto/execute/micro/memory_grow_mstore/by1_mean +0.0054 +0.0050 54 54 54 54 baseline/execute/micro/memory_grow_mstore/by16_mean -0.0135 -0.0135 57 56 57 56 bnocgoto/execute/micro/memory_grow_mstore/by16_mean +0.0331 +0.0325 60 62 60 62 baseline/execute/micro/memory_grow_mstore/by32_mean -0.0124 -0.0124 66 66 66 66 bnocgoto/execute/micro/memory_grow_mstore/by32_mean +0.0186 +0.0183 71 72 71 72 baseline/execute/micro/signextend/zero_mean -0.0450 -0.0451 67 64 67 64 bnocgoto/execute/micro/signextend/zero_mean +0.2479 +0.2478 63 78 63 78 baseline/execute/micro/signextend/one_mean -0.0479 -0.0481 67 64 67 64 bnocgoto/execute/micro/signextend/one_mean +0.2505 +0.2505 63 78 63 78 OVERALL_GEOMEAN -0.0081 -0.0084 0 0 0 0 
AMD Zen2 4.0 GHz, Clang 14
baseline/execute/main/blake2b_huff/empty +0.0015 +0.0015 10 10 10 10 bnocgoto/execute/main/blake2b_huff/empty +0.0121 +0.0121 13 13 13 13 baseline/execute/main/blake2b_huff/2805nulls -0.0135 -0.0135 225 222 225 222 bnocgoto/execute/main/blake2b_huff/2805nulls +0.0097 +0.0097 282 285 282 285 baseline/execute/main/blake2b_huff/5610nulls -0.0108 -0.0108 438 434 438 434 bnocgoto/execute/main/blake2b_huff/5610nulls +0.0019 +0.0019 555 556 555 556 baseline/execute/main/blake2b_huff/8415nulls -0.0077 -0.0077 643 638 643 638 bnocgoto/execute/main/blake2b_huff/8415nulls +0.0189 +0.0189 805 821 805 821 baseline/execute/main/blake2b_huff/65536nulls -0.0057 -0.0057 4988 4960 4988 4960 bnocgoto/execute/main/blake2b_huff/65536nulls -0.0038 -0.0038 6319 6295 6319 6295 baseline/execute/main/blake2b_shifts/2805nulls -0.0218 -0.0218 2115 2069 2115 2069 bnocgoto/execute/main/blake2b_shifts/2805nulls -0.0208 -0.0208 2724 2668 2725 2668 baseline/execute/main/blake2b_shifts/5610nulls -0.0181 -0.0181 4209 4133 4210 4133 bnocgoto/execute/main/blake2b_shifts/5610nulls -0.0214 -0.0215 5448 5331 5448 5331 baseline/execute/main/blake2b_shifts/8415nulls -0.0206 -0.0206 6322 6192 6322 6192 bnocgoto/execute/main/blake2b_shifts/8415nulls -0.0209 -0.0209 8162 7991 8162 7992 baseline/execute/main/blake2b_shifts/65536nulls -0.0187 -0.0188 49027 48108 49028 48109 bnocgoto/execute/main/blake2b_shifts/65536nulls -0.0166 -0.0166 63093 62044 63095 62045 baseline/execute/main/sha1_divs/empty +0.0393 +0.0393 45 47 45 47 bnocgoto/execute/main/sha1_divs/empty -0.0051 -0.0051 50 50 50 50 baseline/execute/main/sha1_divs/1351 +0.0444 +0.0444 941 983 941 983 bnocgoto/execute/main/sha1_divs/1351 -0.0161 -0.0161 1035 1018 1035 1018 baseline/execute/main/sha1_divs/2737 +0.0446 +0.0446 1837 1919 1837 1919 bnocgoto/execute/main/sha1_divs/2737 -0.0162 -0.0163 2019 1986 2019 1987 baseline/execute/main/sha1_divs/5311 +0.0442 +0.0442 3584 3743 3584 3743 bnocgoto/execute/main/sha1_divs/5311 -0.0164 -0.0164 3943 3878 3943 3878 baseline/execute/main/sha1_divs/65536 +0.0423 +0.0423 43717 45568 43718 45569 bnocgoto/execute/main/sha1_divs/65536 -0.0168 -0.0168 48106 47297 48108 47298 baseline/execute/main/sha1_shifts/empty +0.0068 +0.0068 25 25 25 25 bnocgoto/execute/main/sha1_shifts/empty -0.0063 -0.0063 30 30 30 30 baseline/execute/main/sha1_shifts/1351 +0.0084 +0.0084 536 541 536 541 bnocgoto/execute/main/sha1_shifts/1351 -0.0045 -0.0045 632 630 633 630 baseline/execute/main/sha1_shifts/2737 +0.0056 +0.0056 1050 1055 1050 1055 bnocgoto/execute/main/sha1_shifts/2737 -0.0039 -0.0039 1235 1230 1235 1230 baseline/execute/main/sha1_shifts/5311 +0.0059 +0.0059 2047 2059 2047 2059 bnocgoto/execute/main/sha1_shifts/5311 -0.0073 -0.0073 2409 2391 2409 2391 baseline/execute/main/sha1_shifts/65536 +0.0035 +0.0035 25045 25134 25046 25134 bnocgoto/execute/main/sha1_shifts/65536 -0.0136 -0.0136 29584 29183 29585 29183 baseline/execute/main/weierstrudel/0 +0.0258 +0.0258 137 140 137 140 bnocgoto/execute/main/weierstrudel/0 +0.0042 +0.0042 146 146 146 146 baseline/execute/main/weierstrudel/1 +0.0318 +0.0318 296 305 296 305 bnocgoto/execute/main/weierstrudel/1 +0.0042 +0.0042 318 320 318 320 baseline/execute/main/weierstrudel/3 +0.0300 +0.0300 458 472 458 472 bnocgoto/execute/main/weierstrudel/3 +0.0111 +0.0111 494 499 494 499 baseline/execute/main/weierstrudel/9 +0.0267 +0.0267 944 969 944 969 bnocgoto/execute/main/weierstrudel/9 +0.0067 +0.0067 1023 1030 1023 1030 baseline/execute/main/weierstrudel/14 +0.0234 +0.0234 1350 1382 1350 1382 bnocgoto/execute/main/weierstrudel/14 +0.0085 +0.0085 1461 1473 1461 1473 
Haswell 4.4 GHz, GCC 12
baseline/execute/main/blake2b_huff/empty -0.0308 -0.0308 13 13 13 13 bnocgoto/execute/main/blake2b_huff/empty -0.0073 -0.0073 13 13 13 13 baseline/execute/main/blake2b_huff/2805nulls -0.0294 -0.0294 296 287 296 287 bnocgoto/execute/main/blake2b_huff/2805nulls -0.0072 -0.0072 289 287 289 287 baseline/execute/main/blake2b_huff/5610nulls -0.0316 -0.0316 577 559 577 559 bnocgoto/execute/main/blake2b_huff/5610nulls -0.0079 -0.0079 564 560 564 560 baseline/execute/main/blake2b_huff/8415nulls -0.0286 -0.0286 846 822 846 822 bnocgoto/execute/main/blake2b_huff/8415nulls -0.0077 -0.0077 829 823 829 823 baseline/execute/main/blake2b_huff/65536nulls -0.0327 -0.0327 6575 6361 6575 6361 bnocgoto/execute/main/blake2b_huff/65536nulls -0.0078 -0.0078 6422 6372 6422 6372 baseline/execute/main/blake2b_shifts/2805nulls -0.0214 -0.0214 2408 2356 2408 2356 bnocgoto/execute/main/blake2b_shifts/2805nulls -0.0161 -0.0161 2505 2465 2505 2465 baseline/execute/main/blake2b_shifts/5610nulls -0.0218 -0.0218 4805 4700 4805 4700 bnocgoto/execute/main/blake2b_shifts/5610nulls -0.0028 -0.0028 4982 4968 4982 4968 baseline/execute/main/blake2b_shifts/8415nulls -0.0212 -0.0212 7199 7046 7199 7046 bnocgoto/execute/main/blake2b_shifts/8415nulls -0.0127 -0.0127 7467 7373 7467 7373 baseline/execute/main/blake2b_shifts/65536nulls -0.0188 -0.0188 55736 54690 55737 54690 bnocgoto/execute/main/blake2b_shifts/65536nulls -0.0140 -0.0140 57939 57128 57940 57127 baseline/execute/main/sha1_divs/empty -0.0141 -0.0141 45 44 45 44 bnocgoto/execute/main/sha1_divs/empty -0.0049 -0.0049 46 46 46 46 baseline/execute/main/sha1_divs/1351 -0.0149 -0.0149 955 941 955 941 bnocgoto/execute/main/sha1_divs/1351 -0.0065 -0.0065 960 953 960 953 baseline/execute/main/sha1_divs/2737 -0.0134 -0.0134 1863 1838 1863 1838 bnocgoto/execute/main/sha1_divs/2737 -0.0050 -0.0050 1872 1863 1872 1863 baseline/execute/main/sha1_divs/5311 -0.0135 -0.0135 3634 3585 3634 3585 bnocgoto/execute/main/sha1_divs/5311 -0.0071 -0.0071 3658 3632 3658 3632 baseline/execute/main/sha1_divs/65536 -0.0143 -0.0143 44239 43605 44240 43605 bnocgoto/execute/main/sha1_divs/65536 -0.0050 -0.0050 44421 44199 44422 44199 baseline/execute/main/sha1_shifts/empty -0.0220 -0.0220 22 22 22 22 bnocgoto/execute/main/sha1_shifts/empty -0.0141 -0.0141 23 22 23 22 baseline/execute/main/sha1_shifts/1351 -0.0241 -0.0241 473 462 473 462 bnocgoto/execute/main/sha1_shifts/1351 -0.0185 -0.0185 483 474 483 474 baseline/execute/main/sha1_shifts/2737 -0.0216 -0.0216 923 903 923 903 bnocgoto/execute/main/sha1_shifts/2737 -0.0185 -0.0185 943 926 943 926 baseline/execute/main/sha1_shifts/5311 -0.0218 -0.0218 1802 1762 1802 1762 bnocgoto/execute/main/sha1_shifts/5311 +0.0105 +0.0105 1837 1857 1837 1857 baseline/execute/main/sha1_shifts/65536 -0.0213 -0.0213 21984 21517 21984 21517 bnocgoto/execute/main/sha1_shifts/65536 -0.0180 -0.0180 22412 22009 22412 22009 baseline/execute/main/weierstrudel/0 -0.0111 -0.0111 219 217 219 217 bnocgoto/execute/main/weierstrudel/0 -0.0114 -0.0114 220 217 220 217 baseline/execute/main/weierstrudel/1 -0.0112 -0.0112 477 472 477 472 bnocgoto/execute/main/weierstrudel/1 -0.0123 -0.0123 481 475 481 475 baseline/execute/main/weierstrudel/3 -0.0121 -0.0121 749 740 749 740 bnocgoto/execute/main/weierstrudel/3 -0.0104 -0.0104 753 745 753 745 baseline/execute/main/weierstrudel/9 -0.0121 -0.0121 1557 1538 1557 1538 bnocgoto/execute/main/weierstrudel/9 -0.0102 -0.0102 1564 1548 1564 1548 baseline/execute/main/weierstrudel/14 -0.0131 -0.0131 2236 2206 2236 2206 bnocgoto/execute/main/weierstrudel/14 -0.0096 -0.0096 2244 2222 2244 2222 
Haswell 4.4 GHz, Clang 15
baseline/execute/main/blake2b_huff/empty -0.0263 -0.0263 10 10 10 10 bnocgoto/execute/main/blake2b_huff/empty -0.0391 -0.0391 12 11 12 11 baseline/execute/main/blake2b_huff/2805nulls -0.0252 -0.0252 227 221 227 221 bnocgoto/execute/main/blake2b_huff/2805nulls -0.0515 -0.0515 256 243 256 243 baseline/execute/main/blake2b_huff/5610nulls -0.0225 -0.0225 443 433 443 433 bnocgoto/execute/main/blake2b_huff/5610nulls -0.0499 -0.0499 499 474 499 474 baseline/execute/main/blake2b_huff/8415nulls -0.0245 -0.0245 649 633 649 633 bnocgoto/execute/main/blake2b_huff/8415nulls -0.0479 -0.0479 731 696 731 696 baseline/execute/main/blake2b_huff/65536nulls -0.0250 -0.0250 5042 4916 5042 4916 bnocgoto/execute/main/blake2b_huff/65536nulls -0.0435 -0.0435 5666 5420 5666 5420 baseline/execute/main/blake2b_shifts/2805nulls -0.0207 -0.0207 2140 2095 2140 2095 bnocgoto/execute/main/blake2b_shifts/2805nulls -0.0448 -0.0448 2542 2428 2542 2428 baseline/execute/main/blake2b_shifts/5610nulls -0.0229 -0.0229 4268 4171 4268 4171 bnocgoto/execute/main/blake2b_shifts/5610nulls -0.0445 -0.0445 5062 4836 5062 4836 baseline/execute/main/blake2b_shifts/8415nulls -0.0188 -0.0188 6371 6252 6372 6252 bnocgoto/execute/main/blake2b_shifts/8415nulls -0.0430 -0.0430 7587 7261 7587 7261 baseline/execute/main/blake2b_shifts/65536nulls -0.0174 -0.0174 49578 48713 49577 48712 bnocgoto/execute/main/blake2b_shifts/65536nulls -0.0397 -0.0397 59112 56764 59112 56764 baseline/execute/main/sha1_divs/empty -0.0122 -0.0122 46 45 46 45 bnocgoto/execute/main/sha1_divs/empty -0.0187 -0.0187 48 47 48 47 baseline/execute/main/sha1_divs/1351 -0.0139 -0.0139 962 949 963 949 bnocgoto/execute/main/sha1_divs/1351 -0.0216 -0.0216 1010 988 1010 988 baseline/execute/main/sha1_divs/2737 -0.0139 -0.0139 1879 1852 1879 1852 bnocgoto/execute/main/sha1_divs/2737 -0.0204 -0.0204 1970 1930 1970 1930 baseline/execute/main/sha1_divs/5311 -0.0134 -0.0134 3665 3616 3665 3616 bnocgoto/execute/main/sha1_divs/5311 -0.0205 -0.0205 3846 3767 3846 3767 baseline/execute/main/sha1_divs/65536 -0.0126 -0.0126 44657 44095 44657 44094 bnocgoto/execute/main/sha1_divs/65536 -0.0207 -0.0207 46902 45929 46902 45929 baseline/execute/main/sha1_shifts/empty -0.0239 -0.0239 25 24 25 24 bnocgoto/execute/main/sha1_shifts/empty -0.0277 -0.0277 27 26 27 26 baseline/execute/main/sha1_shifts/1351 -0.0258 -0.0258 538 524 538 524 bnocgoto/execute/main/sha1_shifts/1351 -0.0295 -0.0295 572 555 572 555 baseline/execute/main/sha1_shifts/2737 -0.0263 -0.0263 1048 1020 1048 1020 bnocgoto/execute/main/sha1_shifts/2737 -0.0302 -0.0302 1118 1084 1118 1084 baseline/execute/main/sha1_shifts/5311 -0.0265 -0.0265 2042 1988 2042 1988 bnocgoto/execute/main/sha1_shifts/5311 -0.0303 -0.0303 2176 2110 2176 2110 baseline/execute/main/sha1_shifts/65536 -0.0273 -0.0273 24921 24241 24921 24241 bnocgoto/execute/main/sha1_shifts/65536 -0.0303 -0.0303 26549 25745 26549 25745 baseline/execute/main/weierstrudel/0 -0.0146 -0.0146 151 149 151 149 bnocgoto/execute/main/weierstrudel/0 -0.0464 -0.0464 154 147 154 147 baseline/execute/main/weierstrudel/1 -0.0135 -0.0135 323 319 323 319 bnocgoto/execute/main/weierstrudel/1 -0.0403 -0.0403 335 321 335 321 baseline/execute/main/weierstrudel/3 -0.0122 -0.0122 504 498 504 498 bnocgoto/execute/main/weierstrudel/3 -0.0421 -0.0421 525 502 525 502 baseline/execute/main/weierstrudel/9 -0.0112 -0.0112 1044 1032 1044 1032 bnocgoto/execute/main/weierstrudel/9 -0.0427 -0.0427 1087 1040 1087 1040 baseline/execute/main/weierstrudel/14 -0.0094 -0.0094 1491 1477 1491 1477 bnocgoto/execute/main/weierstrudel/14 -0.0421 -0.0421 1556 1490 1556 1490 
@chfast chfast requested a review from rakita October 26, 2022 16:52
Copy link

@rakita rakita left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, it just shuffles some stuff around

@chfast
Copy link
Member Author

chfast commented Nov 3, 2022

2% man!

@chfast chfast force-pushed the baseline_stack_check branch from 4dfd8e7 to 287d263 Compare November 5, 2022 18:42
Change stack overflow/underflow checks to stack pointers comparisons. This gives better compiler optimizations.
@chfast chfast force-pushed the baseline_stack_check branch from 287d263 to f18d1f7 Compare November 5, 2022 19:14
@chfast chfast merged commit 4934807 into master Nov 5, 2022
@chfast chfast deleted the baseline_stack_check branch November 5, 2022 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants