Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/etra0/sapeaob-bench
https://github.com/etra0/sapeaob-bench
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/etra0/sapeaob-bench
- Owner: etra0
- Created: 2021-07-16T23:22:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-05T23:26:10.000Z (over 3 years ago)
- Last Synced: 2024-12-25T11:43:57.613Z (about 2 months ago)
- Language: C++
- Size: 76.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Benchmark of sapeAOB.
![](https://github.com/etra0/sapeaob-bench/blob/master/output.png)
The benchmarking process is rather a naive one. We generate a 10MB array with a signature placed anywhere, then run the `sapeaob-benchmark` with that data.
This benchmark include other two libraries:* otis.h: [Frans Bouma](github.com/FransBouma/)'s implementation which he happily provided to me to do this benchmark, Thanks a lot Frans!
* [ModUtils](https://github.com/CookiePLMonster/ModUtils): Silent's implementation to pattern searching.# Doing the experiment yourself.
### 0. Cloning the repo
Make sure you're cloning with the recursive option or update the submodules after. You can do this by using `git clone --recursive `.### 1. Generate the data
First, you need to generate the random data with the signature in a random place, to do this, you can do
```bash
cd data
python generate_data.py
```
This requires Python 3.9+.### 2. Building
This project uses Cmake. You can either use Visual Studio or do it in the terminal by:
```bash
mkdir build && cd build
cmake .. -GNinja
ninja
```### 3. Generating the plot
You can also generate the plot. This requires `pandas`, `matplotlib` and `seaborn` to be installed in your current python environment.
Then, you can do
```bash
python tools/plot.py
# For example
python tools/plot.py builds/src/sapeaob-benchmark.exe
```