$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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