mit-dci / opencbdc-tx

A transaction processor for a hypothetical, general-purpose, central bank digital currency
Other
895 stars 200 forks source link

Added microbenchmarks using google test #207

Closed maurermi closed 1 year ago

maurermi commented 1 year ago

This commit contains benchmarks for monitoring performance of basic features in this repository. This commit includes benchmarks for low_level primitives, as well as leveldb storage and std::unordered_set storage.

Signed-off-by: Michael Maurer maurer.mi@northeastern.edu

HalosGhost commented 1 year ago

Strong concept-ACK; being able to use something like this to build an intuition for how the system performs will be excellent.

~Note: the CI docker pull_request / docker-build workflow will not pass because this PR modifies the build.~ I'll be testing locally to make sure the image builds function as-expected before merge.

HalosGhost commented 1 year ago

Sorry for the delay; local testing is running into a couple issues which I hope to have resolved shortly.

HalosGhost commented 1 year ago

tACK, this looks good to me, and runs solidly on my local. I have one last question: given that we have a benchmark for deletion from leveldb, should we also have a benchmark for deletion from the set?

maurermi commented 1 year ago

@HalosGhost good suggestion, I have added unordered_set removal in the most recent commit

HalosGhost commented 1 year ago

@maurermi this looks solid. Squash-when-ready, I'll do a final double-check and we'll get this merged!