...
Note: for consistency, please take all measurements on rc20 and be sure to compile with DEBUG=no
.
June 9, 2014
No Format |
---|
atomicIntCmpX 6.21ns Atomic<int>::compareExchange
atomicIntInc 5.98ns Atomic<int>::inc
atomicIntLoad 0.56ns Atomic<int>::load
atomicIntStore 0.56ns Atomic<int>::store
atomicIntXchg 5.97ns Atomic<int>::exchange
bMutexNoBlock 14.77ns std::mutex lock/unlock (no blocking)
bufferBasic 11.42ns buffer create, add one chunk, delete
bufferBasicAlloc 14.62ns buffer create, alloc block in chunk, delete
bufferBasicCopy 13.24ns buffer create, copy small block, delete
bufferCopy 14.76ns copy out 2 small chunks from buffer
bufferExtendChunk 5.69ns buffer add onto existing chunk
bufferGetStart 3.34ns Buffer::getStart
bufferIterator 22.57ns iterate over buffer with 5 chunks
condPingPong 4.04us std::condition_variable round-trip
cppAtomicExchg 5.87ns Exchange method on a C++ atomic_int
cppAtomicLoad 13.50ns Read a C++ atomic_int
cyclesToSeconds 6.97ns Convert a rdtsc result to (double) seconds
cyclesToNanos 9.75ns Convert a rdtsc result to (uint64_t) nanoseconds
dispatchPoll 8.63ns Dispatch::poll (no timers or pollers)
div32 4.86ns 32-bit integer division instruction
div64 20.30ns 64-bit integer division instruction
functionCall 1.95ns Call a function that has not been inlined
getThreadId 2.24ns Retrieve thread id via ThreadId::get
hashTableLookup 128.86ns Key lookup in a 1GB HashTable
hashTableLookupPf 78.07ns Key lookup in a 1GB HashTable with prefetching
lfence 2.82ns Lfence instruction
lockInDispThrd 4.06ns Acquire/release Dispatch::Lock (in dispatch thread)
lockNonDispThrd 214.54ns Acquire/release Dispatch::Lock (non-dispatch thread)
memcpy100 8.78ns Copy 100 bytes with memcpy
memcpy1000 37.37ns Copy 1000 bytes with memcpy
memcpy10000 191.07ns Copy 10000 bytes with memcpy
murmur3 10.31ns 128-bit MurmurHash3 (64-bit optimised) on 1 byte of data
murmur3 40.47ns 128-bit MurmurHash3 hash (64-bit optimised) on 256 bytes of data
objectPoolAlloc 27.86ns Cost of new allocations from an ObjectPool (no destroys)
objectPoolRealloc 4.65ns Cost of ObjectPool allocation after destroying an object
prefetch 34.72ns Prefetch instruction
rdtsc 6.70ns Read the fine-grain cycle counter
segmentEntrySort 7.02ms Sort a Segment full of avg. 100-byte Objects by age
segmentIterator 1.83ms Iterate a Segment full of avg. 100-byte Objects
sfence 1.39ns Sfence instruction
spinLock 16.17ns Acquire/release SpinLock
startStopTimer 14.76ns Start and stop a Dispatch::Timer
spawnThread 9.89us Start and stop a thread
throwInt 1.91us Throw an int
throwIntNL 2.60us Throw an int in a function call
throwException 1.84us Throw an Exception
throwExceptionNL 2.58us Throw an Exception in a function call
throwSwitch 5.46us Throw an Exception using ClientException::throwException
vectorPushPop 3.72ns Push and pop a std::vector |
June 18, 2012
No Format |
---|
atomicIntCmpX 6.29ns Atomic<int>::compareExchange atomicIntInc 5.93ns Atomic<int>::inc atomicIntLoad 0.56ns Atomic<int>::load atomicIntStore 0.59ns Atomic<int>::store atomicIntXchg 5.93ns Atomic<int>::exchange bMutexNoBlock 14.92ns std::mutex lock/unlock (no blocking) cppAtomicExchg 5.93ns Exchange method on a C++ atomic_int cppAtomicLoad 13.76ns Read a C++ atomic_int cyclesToSeconds 7.04ns Convert a rdtsc result to (double) seconds cyclesToNanos 9.86ns Convert a rdtsc result to (uint64_t) nanoseconds dispatchPoll 8.17ns Dispatch::poll (no timers or pollers) functionCall 1.98ns Call a function that has not been inlined getThreadId 1.98ns Retrieve thread id via ThreadId::get hashTableLookup 168.76ns Key lookup in a 1GB HashTable hashTableLookupPf 143.19ns Key lookup in a 1GB HashTable with prefetching lfence 2.90ns Lfence instruction lockInDispThrd 4.15ns Acquire/release Dispatch::Lock (in dispatch thread) lockNonDispThrd 4.05ns Acquire/release Dispatch::Lock (non-dispatch thread) murmur3 11.29ns 128-bit MurmurHash3 (64-bit optimised) on 1 byte of data murmur3 41.17ns 128-bit MurmurHash3 hash (64-bit optimised) on 256 bytes of data objectPoolAlloc 192.56ns Cost of new allocations from an ObjectPool (no destroys) objectPoolRealloc 4.42ns Cost of ObjectPool allocation after destroying an object prefetch 29.79ns Prefetch instruction rdtsc 6.80ns Read the fine-grain cycle counter segmentEntrySort 5.18ms Sort a Segment full of avg. 100-byte Objects by age segmentIterator 1.08ms Iterate a Segment full of avg. 100-byte Objects sfence 1.47ns Sfence instruction spinLock 16.34ns Acquire/release SpinLock startStopTimer 15.03ns Start and stop a Dispatch::Timer throwInt 1.97us Throw an int throwIntNL 2.44us Throw an int in a function call throwException 1.88us Throw an Exception throwExceptionNL 2.60us Throw an Exception in a function call throwSwitch 5.09us Throw an Exception using ClientException::throwException vectorPushPop 3.86ns Push and pop a std::vector |
...