Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants