crdt_tests/bench
Green Sky 8d8fa2f5da
add debug bench result
2022-12-23 15:34:54 +01:00
..
CMakeLists.txt v3 simple SoA, not really an improvement bc index hints remove most find iterations 2022-12-23 00:40:08 +01:00
README.md add debug bench result 2022-12-23 15:34:54 +01:00
v0_jpaper.cpp add jpaper bench for v0 2022-12-22 18:18:56 +01:00
v1_jpaper.cpp corredted v1 results, v2 using hint for seach and last insert index cache as hint 2022-12-22 23:51:59 +01:00
v2_jpaper.cpp corredted v1 results, v2 using hint for seach and last insert index cache as hint 2022-12-22 23:51:59 +01:00
v3_jpaper.cpp v3 simple SoA, not really an improvement bc index hints remove most find iterations 2022-12-23 00:40:08 +01:00

README.md

Timings

all benches use the uncompressed .json from disk

all done with the "cool an breezy copy" preset

note: the .json is not a perfect fit, bc it is not designed for the Yjs algo (missing parent_right and ids are not perfect)

the json contains: doc size (with tombstones): 182315 doc size: 104852 total inserts: 182315 total deletes: 77463 total ops: 259778

baseline ( just walking through the json, no insertions )

  • g++9 -g :

    • 23.0s ~11294 ops/s
    • 22.6s ~11494 ops/s
    • 23.0s
  • g++9 -O3 -DNDEBUG :

    • 9.6s ~27060 ops/s
    • 9.7s
    • 9.7s

version0

  • g++9 -g -O2 :

    • 10m35s ~409 ops/s
  • g++9 -O3 -DNDEBUG :

    • 8m7s ~533 ops/s

version1 - actor index

  • g++9 -g -O2 :

    • 4m1s ~1077 ops/s
  • g++9 -O3 -DNDEBUG :

    • 4m5s ~1060 ops/s

version2 - find with hint, cache last insert and use as hint

  • g++9 -g -O2 :

    • 3m38s ~1191 ops/s
  • g++9 -O3 -DNDEBUG :

    • 3m43s ~1164 ops/s

version3 - SoA, 1 array only ids, 1 array rest (parents, data)

  • g++9 -g :

    • 4m19s ~1003 ops/s
  • g++9 -g -O2 :

    • 3m36s ~1202 ops/s
  • g++9 -O3 -DNDEBUG :

    • 3m44s ~1159 ops/s