diff options
| author | Douglas Rumbaugh <dbr4@psu.edu> | 2025-02-04 17:47:52 -0500 |
|---|---|---|
| committer | Douglas Rumbaugh <dbr4@psu.edu> | 2025-02-04 17:47:52 -0500 |
| commit | d054b21a66318e096a809c9f94bc8659acfacfd8 (patch) | |
| tree | 62bc7f9e41dae257a7613e8c7e9bb080d0815dd0 /benchmarks | |
| parent | 7370b4d1412da47f70c54107adf498fa6be2cfc4 (diff) | |
| download | dynamic-extension-d054b21a66318e096a809c9f94bc8659acfacfd8.tar.gz | |
Fixed a bug with leveling layout policy
Diffstat (limited to 'benchmarks')
| -rw-r--r-- | benchmarks/tail-latency/standard_latency_dist.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/benchmarks/tail-latency/standard_latency_dist.cpp b/benchmarks/tail-latency/standard_latency_dist.cpp index 3929b56..cb3459f 100644 --- a/benchmarks/tail-latency/standard_latency_dist.cpp +++ b/benchmarks/tail-latency/standard_latency_dist.cpp @@ -46,12 +46,13 @@ int main(int argc, char **argv) { auto data = read_sosd_file<Rec>(d_fname, n); auto queries = read_range_queries<QP>(q_fname, .0001); - std::vector<size_t> sfs = {2, 4, 8, 16, 32, 64, 128, 256, 512, 1024}; + std::vector<size_t> sfs = {2, 4, 8}; //, 4, 8, 16, 32, 64, 128, 256, 512, 1024}; size_t buffer_size = 8000; std::vector<size_t> policies = {0, 1}; + for (auto pol: policies) { for (size_t i=0; i<sfs.size(); i++) { - auto policy = get_policy<Shard, Q>(sfs[i], buffer_size, 0); + auto policy = get_policy<Shard, Q>(sfs[i], buffer_size, pol); auto extension = new Ext(policy, buffer_size / 4, buffer_size); /* warmup structure w/ 10% of records */ @@ -66,34 +67,36 @@ int main(int argc, char **argv) { TIMER_INIT(); + TIMER_START(); for (size_t j=warmup; j<data.size(); j++) { - TIMER_START(); while (!extension->insert(data[j])) { usleep(1); } - TIMER_STOP(); - - fprintf(stdout, "I\t%ld\t%ld\n", sfs[i], TIMER_RESULT()); } + TIMER_STOP(); + + size_t insert_tput = (double) (n - warmup) / (double) (TIMER_RESULT()) * 1e9; extension->await_next_epoch(); size_t total = 0; + TIMER_START(); /* repeat the queries a bunch of times */ for (size_t l=0; l<10; l++) { for (size_t j=0; j<queries.size(); j++) { - TIMER_START(); auto q = queries[j]; auto res = extension->query(std::move(q)); total += res.get(); - TIMER_STOP(); - fprintf(stdout, "Q\t%ld\t%ld\n", sfs[i], TIMER_RESULT()); } } + TIMER_STOP(); - fprintf(stdout, "S\t%ld\t%ld\t%ld\n", sfs[i], extension->get_shard_count(), total); + size_t query_lat = (double) TIMER_RESULT() / (10*queries.size()); + + fprintf(stdout, "S\t%ld\t%ld\t%ld\t%ld\t%ld\t%ld\t%ld\n", pol, sfs[i], extension->get_height(), extension->get_shard_count(), total, insert_tput, query_lat); delete extension; } + } fflush(stderr); } |