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

Push values optimisation #122

Merged
merged 4 commits into from
Aug 13, 2019
Merged

Push values optimisation #122

merged 4 commits into from
Aug 13, 2019

Conversation

chfast
Copy link
Member

@chfast chfast commented Aug 13, 2019

This contains some micro-optimization, but is mostly about using uint64_t as a storage for push values for small pushes (up to PUSH8).

Comparing bin/evmone-bench-master to bin/evmone-bench
Benchmark                            Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------
sha1_shifts/analysis              +0.0444         +0.0444             3             3             3             3
sha1_shifts/empty                 -0.0734         -0.0734            40            37            40            37
sha1_shifts/1351                  -0.0903         -0.0903           750           682           750           682
sha1_shifts/2737                  -0.0916         -0.0916          1459          1325          1459          1325
sha1_shifts/5311                  -0.0897         -0.0897          2842          2587          2842          2587
sha1_shifts/65536                 -0.0935         -0.0935         34611         31374         34611         31374
stop/analysis                     -0.0187         -0.0187             0             0             0             0
stop                              -0.0140         -0.0140             1             1             1             1
blake2b_huff/analysis             +0.0423         +0.0423            34            35            34            35
blake2b_huff/empty                +0.0020         +0.0020            51            51            51            51
blake2b_huff/abc                  +0.0032         +0.0032            51            51            51            51
blake2b_huff/2805nulls            -0.0519         -0.0519           386           366           386           366
blake2b_huff/2805aa               -0.0473         -0.0473           385           367           385           367
blake2b_huff/5610nulls            -0.0505         -0.0505           719           683           719           683
blake2b_huff/8415nulls            -0.0503         -0.0503          1036           984          1036           984
blake2b_huff/65536nulls           -0.0483         -0.0483          7801          7424          7801          7424
sha1_divs/analysis                +0.0553         +0.0554             4             4             4             4
sha1_divs/empty                   -0.0290         -0.0290            82            79            82            79
sha1_divs/1351                    -0.0324         -0.0324          1620          1568          1620          1568
sha1_divs/2737                    -0.0342         -0.0342          3160          3052          3160          3052
sha1_divs/5311                    -0.0351         -0.0351          6164          5948          6164          5948
sha1_divs/65536                   -0.0332         -0.0332         74974         72481         74974         72481
weierstrudel/analysis             +0.0442         +0.0442            41            43            41            43
weierstrudel/0                    +0.0125         +0.0125           270           273           270           273
weierstrudel/1                    +0.0077         +0.0077           535           540           535           540
weierstrudel/2                    +0.0098         +0.0098           672           679           672           679
weierstrudel/3                    +0.0072         +0.0072           811           817           811           817
weierstrudel/8                    +0.0054         +0.0054          1492          1500          1492          1500
weierstrudel/9                    +0.0055         +0.0055          1629          1638          1629          1638
weierstrudel/14                   +0.0027         +0.0027          2315          2321          2315          2321
blake2b_shifts/analysis           +0.1439         +0.1439            16            18            16            18
blake2b_shifts/empty              +0.0000         +0.0000             0             0             0             0
blake2b_shifts/2805nulls          -0.0254         -0.0254          3922          3823          3922          3823
blake2b_shifts/5610nulls          -0.0457         -0.0457          8018          7652          8018          7652
blake2b_shifts/8415nulls          -0.0453         -0.0453         12011         11467         12011         11467
blake2b_shifts/65536nulls         -0.0466         -0.0466         94907         90483         94905         90482

@codecov-io
Copy link

Codecov Report

Merging #122 into master will decrease coverage by 2.68%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #122      +/-   ##
==========================================
- Coverage   87.76%   85.08%   -2.69%     
==========================================
  Files          19       19              
  Lines        2035     2051      +16     
  Branches      218      220       +2     
==========================================
- Hits         1786     1745      -41     
- Misses        223      280      +57     
  Partials       26       26

@chfast chfast merged commit 398a04b into master Aug 13, 2019
@chfast chfast deleted the push_data branch August 13, 2019 20:25
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