-
Notifications
You must be signed in to change notification settings - Fork 320
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
Benchmark modexp precompiled contract in different clients #185
Comments
@pirapira i can take that, looks fun. will work on it tonight |
Great. You can choose
or
or
|
@pirapira what option do you think would be better? Go it solo or join forces....maybe solo because then it goes horizontal not vertical :) |
That's what I thought. The second option will be the quickest. |
agreed. on it. |
I have a geth-benchmark implementation for modexp at https://github.com/holiman/go-ethereum/tree/benchmark_metro , the only thing I'm missing now are some proper values to use in testing. And I guess the other clients ought to use the same. Have either of you located any good inputs? I've found a few from the EIP examples, but I don't think they're very representative. |
I've added some inputs to my branch the other day |
@tcsiwula Hi, is there any update from you on this? |
@tcsiwula I sent you an email. |
to test benchmark we have to run a scenario with calling a function/opcode on different range of input parameters and eventually build up a graph "exec time / input parameters value" |
Hello everyone, here is an update from me. Let me know where I should focus my attention/efforts next. =) My most recent (August 9th) parity benchmark results for {bn_128_add, bn_128_mul, ...}. Here are the steps to recreate and run it locally on your computer (linux/ubuntu). |
On my machine, I get 6 times different numbers for ecadd from
and Parity
(will edit with links to steps) |
The original purpose of this issue has been accomplished, as Since we are here, maybe we can open issues for remaining problems and paste links here. |
@pirapira wonderful, yeah that sounds good to me. What other precompile benchmarks would be useful to have that would give us a complete and accurate picture? |
@tcsiwula since |
@tcsiwula just pointed me at this issue. I've been working with @s-matthew-english on improving the test suite at https://github.com/ethereum/cpp-ethereum/tree/develop/test/unittests/performance so that more opcodes and precompiles and more clients can be easily added to the suite. The more the merrier. The advantage of this suite is that it will work with any client with a command-line program that can interpret EVM binaries. |
@pirapira status? |
No idea. |
I thought we came to the final gas price for this contract. @holiman |
Yes, for all precompiles. I think we can close this ticket.. (?) |
OK. |
There is an opinion that the gas cost formula of modexp precompiled contract can be improved. To find out the reasonal gas cost formula we need to benchmark modexp contract of different clients up to blockgaslimit.
The text was updated successfully, but these errors were encountered: