Perf
is a program that contains several micro-benchmarks related to RAMCloud. It includes all of the server code but runs as a stand-alone program, not in a cluster configuration. This page contains the output of that program at various points in time, so it provides a history of RAMCloud micro-benchmark performance.
Note: for consistency, please take all measurements on rc20 and be sure to compile with DEBUG=no
.
July 18, 2011
atomicIntCmpX 6.26ns AtomicInt::compareExchange atomicIntInc 6.05ns AtomicInt::inc atomicIntLoad 0.57ns AtomicInt::load atomicIntStore 0.58ns AtomicInt::store atomicIntXchg 6.06ns AtomicInt::exchange bMutexNoBlock 14.66ns Boost mutex lock/unlock (no blocking) cppAtomicExchg 5.93ns Exchange method on a C++ atomic_int cppAtomicLoad 13.66ns Read a C++ atomic_int dispatchPoll 7.62ns Dispatch::poll (no timers or pollers) getThreadId 2.27ns Retrieve thread id via ThreadId::get lfence 2.84ns Lfence instruction lockInDispThrd 7.05ns Acquire/release Dispatch::Lock (in dispatch thread) lockNonDispThrd 252.79ns Acquire/release Dispatch::Lock (non-dispatch thread) sfence 1.50ns Sfence instruction spinLock 16.46ns Acquire/release SpinLock