benchmarks results (evmole)
cdump opened this issue · comments
Hey there!
I stumbled upon your project on Twitter and added it to the EVMole benchmarks. It's now in a dedicated branch as WIP: https://github.com/cdump/evmole/tree/sigmund
$ cd benchmarks/
$ PROVIDERS_SELECTORS=sigmund make benchmark-selectors
$ python3 compare.py --providers etherscan sigmund
mode = selectors
providers = ['etherscan', 'sigmund']
datasets = ['largest1k', 'random50k', 'vyper']
web_listen =
markdown = False
show_errors = False
dataset largest1k (1000 contracts, 24427 signatures), sigmund:
time: 0.5s
False Positive: 701 signatures, 57 contracts
False Negative: 120 signatures, 109 contracts
dataset random50k (50000 contracts, 1171102 signatures), sigmund:
time: 6.8s
False Positive: 11344 signatures, 1247 contracts
False Negative: 7550 signatures, 7254 contracts
dataset vyper (780 contracts, 21244 signatures), sigmund:
time: 0.4s
False Positive: 57 signatures, 57 contracts
False Negative: 21244 signatures, 780 contracts
you can compare accurancy and speed (better rerun everything on your hardware) with other selectors extraction tools: https://github.com/cdump/evmole/tree/sigmund?tab=readme-ov-file#function-selectors
Hey!
The project was made mostly for experimentation with different opcode/pattern and it works in a greedy way and especially with the --deep
flag. Since it's at very early stage it would make sense to have benchmarks only (and if) a stable version is released in the future.
Thanks for the effort!
very early stage
That's why I put it in dedicated WIP branch and didn't use that results in README.
I thought it would be useful for you, especially at this stage, to understand the accurancy change after implementing new ideas in code.
p.s. I use 'deep=false': https://github.com/cdump/evmole/blob/sigmund/benchmark/providers/sigmund/src/main.rs#L39
Perfect, will check it out when I get some time. Also haven't had time to check your repo but I had someone having an issue in general finding vyper sigs from a contract 0xce6431d21e3fb1036ce9973a3312368ed96f5ce7
. Is there any specific flag in evmole
for vyper? I can see deep
returning some.
Will leave open so you can reply but we can gladly continue on X to keep the issues clean, thanks for the submitting and open-sourcing!