Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Performance

Performance of Boost.Coroutine was measured on the platforms shown in the following table. Performance measurements were taken using rdtsc and boost::chrono::high_resolution_clock, with overhead corrections, on x86 platforms. In each case, cache warm-up was accounted for, and the one running thread was pinned to a single CPU. The code was compiled using the build options, 'variant = release cxxflags = -DBOOST_DISABLE_ASSERTS'.

Table 1.1. Perfomance of coroutine

Platform

switch

construction (protected stack-allocator)

construction (simple stack-allocator)

construction (preallocated stack-allocator)

i386 [a]

78 ns / 77 cycles

188868 ns / 245093 cycles

31860 ns / 31812 cycles

13127 ns / 19764 cycles

x86_64 [b]

28 ns / 74 cycles

46916 ns / 109569 cycles

14368 ns / 22705 cycles

6114 ns / 16728 cycles

[a] AMD Athlon 64 DualCore 4400+

[b] Intel Core2 Q6700



PrevUpHomeNext