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

Benchmarks results after all floating-point instructions implemented #501

Closed
chfast opened this issue Aug 21, 2020 · 0 comments
Closed

Benchmarks results after all floating-point instructions implemented #501

chfast opened this issue Aug 21, 2020 · 0 comments

Comments

@chfast
Copy link
Collaborator

chfast commented Aug 21, 2020

I compared Fizzy 0.3.0 with #486 (which is the last FP instruction implemented).

The parsing time is unaffected (±2%).
The instantiation time is unaffected (±1%).

The comparison of execution times looks as flows:

fizzy/execute/blake2b/512_bytes_rounds_1                     +0.0377
fizzy/execute/blake2b/512_bytes_rounds_16                    +0.0389
fizzy/execute/ecpairing/onepoint                             (statistically not conclusive)
fizzy/execute/keccak256/512_bytes_rounds_1                   -0.0105
fizzy/execute/keccak256/512_bytes_rounds_16                  -0.0142
fizzy/execute/memset/256_bytes                               -0.0090
fizzy/execute/memset/60000_bytes                             -0.0068
fizzy/execute/mul256_opt0/input0                             +0.0398
fizzy/execute/mul256_opt0/input1                             +0.0440
fizzy/execute/sha1/512_bytes_rounds_1                        +0.0024
fizzy/execute/sha1/512_bytes_rounds_16                       +0.0049
fizzy/execute/sha256/512_bytes_rounds_1                      +0.0184
fizzy/execute/sha256/512_bytes_rounds_16                     +0.0249
fizzy/execute/micro/eli_interpreter/halt                     -0.0133
fizzy/execute/micro/eli_interpreter/exec105                  +0.0292
fizzy/execute/micro/factorial/10                             -0.0188
fizzy/execute/micro/factorial/20                             +0.0080
fizzy/execute/micro/fibonacci/24                             -0.0229
fizzy/execute/micro/host_adler32/1                           -0.0140
fizzy/execute/micro/host_adler32/100                         -0.0265
fizzy/execute/micro/host_adler32/1000                        -0.0283
fizzy/execute/micro/spinner/1                                -0.0359
fizzy/execute/micro/spinner/1000                             -0.0288

The mean is 1.4%, median is 1.8% (with micro benchmarks ignored).

I also compared the number of instruction in the execute() function (without the "cold" part):

0.3.0:   1517
all FPs: 2323  (+53%)
@chfast chfast closed this as completed Sep 2, 2020
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

No branches or pull requests

1 participant