|
Boost : |
Subject: Re: [boost] [lockfree::fifo] Review
From: Tim Blechmann (tim_at_[hidden])
Date: 2009-12-11 11:57:47
> FWIW there are other ways to avoid ABA than tagging pointers, and without
> DCAS on 32-bit, see e.g. this sample implementation of a lock-free stack:
>
> http://www.chaoticmind.net/~hcb/projects/boost.atomic/stack.hpp
i ran some throughput benchmarks of your stack class vs mine (using the
stack test without the data hash table)
boost.lockfree stack, x86_64, pointer compression:
97019.782330 task-clock-msecs # 7.730 CPUs
108258 context-switches # 0.001 M/sec
14 CPU-migrations # 0.000 M/sec
820 page-faults # 0.000 M/sec
270234935420 cycles # 2785.359 M/sec
18556843363 instructions # 0.069 IPC
1002004340 cache-references # 10.328 M/sec
65412 cache-misses # 0.001 M/sec
1497109143 branches # 15.431 M/sec
159665283 branch-misses # 1.646 M/sec
12.550888223 seconds time elapsed
helge's stack, x86_64:
97193.980901 task-clock-msecs # 6.829 CPUs
181307 context-switches # 0.002 M/sec
19 CPU-migrations # 0.000 M/sec
525 page-faults # 0.000 M/sec
270730718104 cycles # 2785.468 M/sec
21901021611 instructions # 0.081 IPC
816105899 cache-references # 8.397 M/sec
44053 cache-misses # 0.000 M/sec
4929368756 branches # 50.717 M/sec
234936307 branch-misses # 2.417 M/sec
14.231853706 seconds time elapsed
i added your stack class to a new branch (topic/helge_stack) in my
repository ...
cheers, tim
-- tim_at_[hidden] http://tim.klingt.org The price an artist pays for doing what he wants is that he has to do it. William S. Burroughs
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk