Skip to content

Commit 0990e51

Browse files
Improved benchmark instructions
1 parent 8a4ed4c commit 0990e51

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ Expectations:
1818

1919
## Usage
2020

21-
2221
Make sure to select the right GNU GCC compiler (e.g., via `export export CXX=g++-8`).
2322
You may want to disable hyperthreading and adjust page sizes. Run the benchmark
2423
on a quiet machine.
@@ -59,6 +58,22 @@ in the set. We use Linux performance counters to measure instructions, cache mis
5958

6059
As part of the benchmark, we check the correctness of the implementation.
6160

61+
## Benchmarking
62+
63+
The shell script `benchmark/benchmark.sh` runs the benchmark 3 times for the most important algorithms, with entry sizes of 10 million and 100 million keys. It is much slower than the above, because each invocation runs only one algorithm (to ensure running one algorithm doesn't influence benchmark results of other algorithms). It stores the results in the file `benchmark-results.txt`. To futher analyze the results, use the java tool `AnalyzeResults.java` from the project https://github.com/FastFilter/fastfilter_java. Complete steps to run the tests and analyze the results:
64+
65+
git clone https://github.com/FastFilter/fastfilter_cpp.git
66+
git clone https://github.com/FastFilter/fastfilter_java.git
67+
cd fastfilter_cpp/benchmarks
68+
make clean ; make
69+
# this may take a few hours to run
70+
./benchmark.sh
71+
72+
cd ../..
73+
cd fastfilter_java
74+
mvn clean install
75+
java -cp target/test-classes org.fastfilter.analysis.AnalyzeResults ../fastfilter_cpp/benchmarks/benchmark-results.txt
76+
6277

6378
## Where is your code?
6479

0 commit comments

Comments
 (0)