diff options
Diffstat (limited to 'staging_vespalib/src/tests/clock/clock_benchmark.cpp')
-rw-r--r-- | staging_vespalib/src/tests/clock/clock_benchmark.cpp | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/staging_vespalib/src/tests/clock/clock_benchmark.cpp b/staging_vespalib/src/tests/clock/clock_benchmark.cpp index a9618d50682..cbf7275f06e 100644 --- a/staging_vespalib/src/tests/clock/clock_benchmark.cpp +++ b/staging_vespalib/src/tests/clock/clock_benchmark.cpp @@ -10,7 +10,10 @@ #include <mutex> using vespalib::Clock; -using fastos::TimeStamp; +using vespalib::steady_time; +using vespalib::steady_clock; +using vespalib::duration; +using vespalib::to_s; struct UpdateClock { virtual ~UpdateClock() {} @@ -89,12 +92,12 @@ struct Sampler : public SamplerBase { { } void Run(FastOS_ThreadInterface *, void *) override { uint64_t samples; - fastos::SteadyTimeStamp prev = _func(); + steady_time prev = _func(); for (samples = 0; (samples < _samples); samples++) { - fastos::SteadyTimeStamp now = _func(); - fastos::TimeStamp diff = now - prev; - if (diff > 0) prev = now; - _count[1 + ((diff == 0) ? 0 : (diff > 0) ? 1 : -1)]++; + steady_time now = _func(); + duration diff = now - prev; + if (diff > duration::zero()) prev = now; + _count[1 + ((diff == duration::zero()) ? 0 : (diff > duration::zero()) ? 1 : -1)]++; } } @@ -105,7 +108,7 @@ template<typename Func> void benchmark(const char * desc, FastOS_ThreadPool & pool, uint64_t samples, uint32_t numThreads, Func func) { std::vector<std::unique_ptr<SamplerBase>> threads; threads.reserve(numThreads); - fastos::SteadyTimeStamp start = fastos::ClockSteady::now(); + steady_time start = steady_clock::now(); for (uint32_t i(0); i < numThreads; i++) { SamplerBase * sampler = new Sampler<Func>(func, i); sampler->_samples = samples; @@ -120,7 +123,7 @@ void benchmark(const char * desc, FastOS_ThreadPool & pool, uint64_t samples, ui count[i] += sampler->_count[i]; } } - printf("%s: Took %ld clock samples in %2.3f with [%ld, %ld, %ld] counts\n", desc, samples, (fastos::ClockSteady::now() - start).sec(), count[0], count[1], count[2]); + printf("%s: Took %ld clock samples in %2.3f with [%ld, %ld, %ld] counts\n", desc, samples, to_s(steady_clock::now() - start), count[0], count[1], count[2]); } int @@ -146,26 +149,26 @@ main(int , char *argv[]) return clock.getTimeNSAssumeRunning(); }); benchmark("uint64_t", pool, samples, numThreads, [&nsValue]() { - return fastos::SteadyTimeStamp(nsValue._value) ; + return steady_time (duration(nsValue._value)); }); benchmark("volatile uint64_t", pool, samples, numThreads, [&nsVolatile]() { - return fastos::SteadyTimeStamp(nsVolatile._value) ; + return steady_time(duration(nsVolatile._value)); }); benchmark("memory_order_relaxed", pool, samples, numThreads, [&nsAtomic]() { - return fastos::SteadyTimeStamp(nsAtomic._value.load(std::memory_order_relaxed)) ; + return steady_time(duration(nsAtomic._value.load(std::memory_order_relaxed))); }); benchmark("memory_order_consume", pool, samples, numThreads, [&nsAtomic]() { - return fastos::SteadyTimeStamp(nsAtomic._value.load(std::memory_order_consume)) ; + return steady_time(duration(nsAtomic._value.load(std::memory_order_consume))); }); benchmark("memory_order_acquire", pool, samples, numThreads, [&nsAtomic]() { - return fastos::SteadyTimeStamp(nsAtomic._value.load(std::memory_order_acquire)) ; + return steady_time(duration(nsAtomic._value.load(std::memory_order_acquire))); }); benchmark("memory_order_seq_cst", pool, samples, numThreads, [&nsAtomic]() { - return fastos::SteadyTimeStamp(nsAtomic._value.load(std::memory_order_seq_cst)) ; + return steady_time(duration(nsAtomic._value.load(std::memory_order_seq_cst))); }); - benchmark("fastos::ClockSteady::now()", pool, samples, numThreads, []() { - return fastos::ClockSteady::now(); + benchmark("vespalib::steady_time::now()", pool, samples, numThreads, []() { + return steady_clock::now(); }); pool.Close(); |