Skip to content

Conversation

@chfast
Copy link
Member

@chfast chfast commented Aug 22, 2019

This changes the signature of functions implementing instructions and the main loop. The pointer to current instructions has been removed from the state object, is now passed as an argument (rdi register) and next instruction pointer is returned from the instruction function (rax register).

Comparing bin/evmone-bench-master to bin/evmone-bench
Benchmark                            Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------
sha1_shifts/analysis              -0.0018         -0.0018             4             4             4             4
sha1_shifts/empty                 -0.0626         -0.0626            37            35            37            35
sha1_shifts/1351                  -0.0679         -0.0679           675           629           675           629
sha1_shifts/2737                  -0.0682         -0.0682          1312          1222          1312          1222
sha1_shifts/5311                  -0.0695         -0.0695          2559          2381          2559          2381
sha1_shifts/65536                 -0.0671         -0.0671         31088         29003         31088         29003
stop/analysis                     -0.0027         -0.0027             0             0             0             0
stop                              +0.0031         +0.0031             1             1             1             1
blake2b_huff/analysis             -0.0012         -0.0012            38            38            38            38
blake2b_huff/empty                -0.0194         -0.0194            55            54            55            54
blake2b_huff/abc                  -0.0185         -0.0185            55            54            55            54
blake2b_huff/2805nulls            -0.0653         -0.0653           386           361           386           361
blake2b_huff/2805aa               -0.0529         -0.0529           382           362           382           362
blake2b_huff/5610nulls            -0.0564         -0.0564           709           669           709           669
blake2b_huff/8415nulls            -0.0608         -0.0608          1024           961          1024           961
blake2b_huff/65536nulls           -0.0671         -0.0671          7711          7193          7711          7193
sha1_divs/analysis                +0.0040         +0.0040             4             4             4             4
sha1_divs/empty                   -0.0294         -0.0294            66            64            66            64
sha1_divs/1351                    -0.0290         -0.0290          1246          1210          1246          1210
sha1_divs/2737                    -0.0276         -0.0276          2424          2357          2424          2357
sha1_divs/5311                    -0.0315         -0.0315          4737          4588          4737          4588
sha1_divs/65536                   -0.0268         -0.0268         57453         55913         57453         55913
weierstrudel/analysis             -0.0051         -0.0051            46            46            46            46
weierstrudel/0                    -0.0330         -0.0330           295           286           295           286
weierstrudel/1                    -0.0317         -0.0317           561           543           561           543
weierstrudel/2                    -0.0345         -0.0345           706           681           706           681
weierstrudel/3                    -0.0320         -0.0320           849           821           849           821
weierstrudel/8                    -0.0341         -0.0340          1552          1499          1552          1499
weierstrudel/9                    -0.0428         -0.0427          1710          1637          1710          1637
weierstrudel/14                   -0.0341         -0.0341          2401          2319          2401          2319
blake2b_shifts/analysis           -0.0027         -0.0027            20            20            20            20
blake2b_shifts/empty              +0.0000         +0.0000             0             0             0             0
blake2b_shifts/2805nulls          -0.0665         -0.0665          3877          3619          3877          3619
blake2b_shifts/5610nulls          -0.0700         -0.0700          7980          7421          7980          7421
blake2b_shifts/8415nulls          -0.0656         -0.0657         11899         11118         11899         11118
blake2b_shifts/65536nulls         -0.0651         -0.0651         94082         87960         94083         87958

@chfast chfast force-pushed the next_instr branch 2 times, most recently from 142e5bf to 89e9368 Compare August 27, 2019 10:12
chfast added 3 commits August 27, 2019 12:15
This changes the signature of functions implementing instructions and the main loop. The pointer to current instructions has been removed from the state object, is now passed as an argument (rdi register) and next instruction pointer is returned from the instruction function (rax register).
@codecov-io
Copy link

Codecov Report

Merging #133 into master will increase coverage by 0.16%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #133      +/-   ##
==========================================
+ Coverage   84.18%   84.35%   +0.16%     
==========================================
  Files          19       19              
  Lines        2055     2128      +73     
  Branches      218      218              
==========================================
+ Hits         1730     1795      +65     
- Misses        300      308       +8     
  Partials       25       25

@chfast chfast marked this pull request as ready for review August 27, 2019 10:17
@chfast chfast merged commit 26b682c into master Aug 27, 2019
@chfast chfast deleted the next_instr branch August 27, 2019 10:20
jwasinger pushed a commit to jwasinger/evmone that referenced this pull request Apr 27, 2021
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.

3 participants