Skip to content

Performance Benchmarks

Tao Dong edited this page Feb 21, 2024 · 6 revisions

Version v1.0.1 Performance

Environment

  • Mac M2, 8GB Memory
  • Temurin 21.0.1

Test Case

Performance test is to generate data for a social network with the following scenario

  1. Users from two countries with 70% and 30% ratio.
  2. On average each user follows 5 other users.
  3. On average each user has 5 posts.
  4. On average each user likes 10 posts.
  5. On average each user posts 25 comments.
  6. 10% of the comments are response to each other

All test cases can be found under performance folder

Test Result

Network Person Count Records Generated Generation Seconds Max Collision Per Entity
10 485 10 23
100 4850 93 43
1000 48500 961 91
10000 472500 9466 438

Conclusion

  1. Performance remains the same level as 1.0.1
  2. Observing higher index collision rate when generating large number of records. For 1K network, I have to enforce the loop strategy for non circle index linked value which wasn't needed in version 1.0.0. It is caused by replacing default random generator with secured random generator.

Version v1.0.0 Performance

Environment

  • Mac M2, 8GB Memory
  • Temurin 21.0.1

Test Case

Performance test is to generate data for a social network with the following scenario

  1. Users from two countries with 70% and 30% ratio.
  2. On average each user follows 5 other users.
  3. On average each user has 5 posts.
  4. On average each user likes 10 posts.
  5. On average each user posts 25 comments.
  6. 10% of the comments are response to each other

All test cases can be found under performance folder

Test Result

Network Person Count Records Generated Generation Seconds Max Collision Per Entity
10 485 10 < 100
100 4850 98 < 100
1000 48500 961 < 100
10000 472500 9396 396

Conclusion

  1. Time cost presents a linear pattern when records number increased with the same complexity.
  2. Ordered non circle index with linked value suffers higher collision rates at 10K user level. Chained comments had to be reduced to 5% to meet 1000 max collision setting.