-
Notifications
You must be signed in to change notification settings - Fork 155
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
feat/perf: abi benchmarks #57
Conversation
can you also bench these against the previous implementation? |
which previous implementation? If you mean the one before my changes in #52, there is no difference in ABI logic/performance |
I mean the abi impl relied on by ethers@2.0.0 |
that is |
oh i'm just blind. got it. thank you |
04ccbb5
to
1e46aed
Compare
After 281cec3: dyn-abi/encode/single time: [69.210 ns 69.292 ns 69.382 ns]
change: [-26.237% -25.649% -25.227%] (p = 0.00 < 0.05)
Performance has improved.
dyn-abi/encode/struct time: [626.60 ns 627.97 ns 629.56 ns]
change: [-12.694% -12.201% -11.654%] (p = 0.00 < 0.05)
Performance has improved.
dyn-abi/decode/word time: [49.180 ns 49.331 ns 49.572 ns]
change: [-33.199% -32.358% -31.439%] (p = 0.00 < 0.05)
Performance has improved.
dyn-abi/decode/dynamic time: [84.247 ns 84.431 ns 84.620 ns]
change: [-18.215% -17.543% -17.087%] (p = 0.00 < 0.05)
Performance has improved. |
well, let's keep investigating :) |
Maybe we can skip tokenizing by encoding directly the |
a2ee6b1
to
ea51d13
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approving this. can you rebase, and open issues for future optimization work?
Results
sol-types
: gooddyn-abi
: not so good, optimizations needed, probably inDynSolType::encode_single