Benchmarks

In the following, I would like to explain my benchmarks and the results, as well as the ability to interpret them, and describe how you can test them yourself on your machine.

All code for the benchmarks is available in the benchmarks folder of the repository. The test data is generated with the generate_test_data.py script, and the benchmarks are executed with the run_tests.sh script. Read more about how to run the benchmarks at the end of this page.

Test framework

Machine:

OS:

Looksyk:

Test results

graph name size size comparison (1) parse and index time (full graph (2)) RAM usage (3) metainfo-request (4) page load (5) backlinks (6)
200-small-notes 16.586 words 0,02 x the bible
0,01 x complete Harry Potter series
7ms 26,38MB 0,57ms 0,37ms 0,34ms
200-mixed-notes 82.321 words 0,11 x the bible
0,07 x complete Harry Potter series
24ms 28,62MB 0,58ms 0,40ms 0,34ms
200-large-notes 275.459 words 0,35 x the bible
0,25 x complete Harry Potter series
74ms 33,88MB 0,51ms 0,47ms 0,36ms
2500-small-notes 207.192 words 0,26 x the bible
0,19 x complete Harry Potter series
93ms 37,36MB 1,68ms 0,40ms 0,32ms
2500-mixed-notes 1.033.963 words 1,30 x the bible
0,95 x complete Harry Potter series
310ms 65,41MB 2,17ms 0,31ms 0,36ms
2500-large-notes 3.449.801 words 4,41 x the bible
3,18 x complete Harry Potter series
910ms 130,37MB 2,25ms 0,46ms 0,35ms
10000-mixed-notes 4.136.753 words 5,28 x the bible
3,81 x complete Harry Potter series
1277ms 186,87MB 6,9ms 0,41ms 0,38ms

Notes:

Steps to reproduce the benchmarks

Requirements:

Steps to reproduce the benchmarks:

  1. Build the project in release mode:
cd backend
cargo build --release
  1. Generate the testdata
cd benchmarks
python2 generate_test_data.py
  1. Run the benchmarks
cd benchmarks
sh run_tests.sh