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

Eliminate parameters of some instructions #126

Merged
merged 3 commits into from
Aug 14, 2019
Merged

Eliminate parameters of some instructions #126

merged 3 commits into from
Aug 14, 2019

Conversation

chfast
Copy link
Member

@chfast chfast commented Aug 14, 2019

For DUPs, SWAPs and LOGs, we now use different methods and eliminate the need for additional function parameter. For DUPs and SWAPs methods generated by templates. This solution was slightly faster than extracting common code. For LOGs, we have a common code handling all cases.

Comparing bin/evmone-bench-master to bin/evmone-bench
Benchmark                            Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------
sha1_shifts/analysis              -0.0090         -0.0090             3             3             3             3
sha1_shifts/empty                 -0.0156         -0.0156            37            37            37            37
sha1_shifts/1351                  -0.0264         -0.0264           688           670           688           670
sha1_shifts/2737                  -0.0281         -0.0281          1335          1297          1335          1297
sha1_shifts/5311                  -0.0264         -0.0264          2593          2525          2593          2525
sha1_shifts/65536                 -0.0256         -0.0256         31575         30767         31575         30767
stop/analysis                     -0.0003         -0.0003             0             0             0             0
stop                              -0.0103         -0.0103             1             1             1             1
blake2b_huff/analysis             +0.0011         +0.0010            35            35            35            35
blake2b_huff/empty                -0.0099         -0.0099            51            51            51            51
blake2b_huff/abc                  -0.0093         -0.0093            51            51            51            51
blake2b_huff/2805nulls            -0.0407         -0.0407           363           348           363           348
blake2b_huff/2805aa               -0.0409         -0.0409           363           348           363           348
blake2b_huff/5610nulls            -0.0414         -0.0414           674           646           674           646
blake2b_huff/8415nulls            -0.0435         -0.0435           973           931           973           931
blake2b_huff/65536nulls           -0.0466         -0.0466          7306          6966          7306          6966
sha1_divs/analysis                -0.0032         -0.0032             4             4             4             4
sha1_divs/empty                   -0.0075         -0.0075            80            79            80            79
sha1_divs/1351                    -0.0111         -0.0111          1580          1562          1580          1562
sha1_divs/2737                    -0.0111         -0.0111          3078          3044          3078          3044
sha1_divs/5311                    -0.0108         -0.0108          6002          5938          6002          5938
sha1_divs/65536                   -0.0108         -0.0108         73004         72218         73004         72218
weierstrudel/analysis             +0.0023         +0.0023            43            43            43            43
weierstrudel/0                    +0.0191         +0.0191           269           274           269           274
weierstrudel/1                    +0.0033         +0.0033           530           532           530           532
weierstrudel/2                    +0.0034         +0.0030           666           668           666           668
weierstrudel/3                    +0.0027         +0.0027           803           805           803           805
weierstrudel/8                    -0.0007         -0.0007          1474          1473          1474          1473
weierstrudel/9                    -0.0013         -0.0017          1611          1609          1611          1609
weierstrudel/14                   -0.0024         -0.0024          2285          2280          2285          2280
blake2b_shifts/analysis           -0.0032         -0.0036            19            18            19            18
blake2b_shifts/empty              +0.0000         +0.0000             0             0             0             0
blake2b_shifts/2805nulls          +0.0147         +0.0147          3745          3800          3745          3800
blake2b_shifts/5610nulls          +0.0141         +0.0141          7656          7764          7656          7764
blake2b_shifts/8415nulls          +0.0148         +0.0144         11466         11636         11466         11631
blake2b_shifts/65536nulls         +0.0115         +0.0116         90805         91850         90797         91849

@codecov-io
Copy link

Codecov Report

Merging #126 into master will decrease coverage by 2.79%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #126     +/-   ##
=========================================
- Coverage   87.93%   85.13%   -2.8%     
=========================================
  Files          19       19             
  Lines        2055     2059      +4     
  Branches      220      221      +1     
=========================================
- Hits         1807     1753     -54     
- Misses        222      280     +58     
  Partials       26       26

@chfast chfast merged commit 0f50cc5 into master Aug 14, 2019
@chfast chfast deleted the no_instr_params branch August 14, 2019 09:37
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