Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

baseline: Better stack overflow/underflow checks #518

Merged
merged 3 commits into from
Nov 5, 2022

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

Copy link
Collaborator

@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!

Change stack overflow/underflow checks to stack pointers comparisons.
This gives better compiler optimizations.
@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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants