disas-bench
disas-bench copied to clipboard
X86 disassembler benchmark
Disassembler Benchmark
This repository holds benchmarking code for various x86/x86-64 disassembler libraries.
Results
Ubuntu 20.04, AMD Ryzen 9 3950X
macOS 11.4, Intel i7 8700k
Candidates
Benchmarking
Windows:
REM Start "x64 Native Tools Command Prompt for VS 2019"
REM Start git bash:
"C:\Program Files\Git\bin\bash.exe"
Windows/Linux/macOS:
git clone --recursive 'https://github.com/athre0z/disas-bench.git'
cd disas-bench.git
./make-all.sh
# Windows: python
python3 -mvenv venv
# Windows: source venv/Scripts/activate
source venv/bin/activate
pip install -r requirements.txt
# Optional args: <code-offset> <code-len> <filename> [loop-count]
# macOS/Windows: python bench.py
LD_LIBRARY_PATH=$(pwd)/bench/distorm python bench.py
The optional bench.py
arguments are:
-
<code-offset>
= offset of the code section (in decimal or 0x hex) -
<code-len>
= length of the code section (in decimal or 0x hex) -
<filename>
= 64-bit x86 binary file to decode and format -
[loop-count]
= optional loop count. Total number of bytes decoded and formatted is<code-len> * [loop-count]
Contributing
If you feel like the benchmark for a lib doesn't drive it to its full potential or treats it unfairly, I'd be happy to accept PRs with improvements!