Boost logo

Boost :

Subject: Re: [boost] [Lockfree review] Meta-comments
From: Tim Blechmann (tim_at_[hidden])
Date: 2011-07-26 13:23:17


> >> i would be willing to co-maintain boost.atomic, but i really don't want
> >> to do it alone. a few days ago, i posted a message to see if there are
> >> possible volunteers to help maintaining boost.atomic. unfortunately i
> >> got zero (0) replies.
>
> Tim, I must have missed that. I have volunteered a couple of times
> now. But see below.

cool!

> > That's too bad. It seems reasonably stable now for my platforms (x86[_64]
> > Windows/Linux)
>
> Matt, how have you measured the stability? One of my main concerns
> with Atomic is that it seems to lack any tests, so it is hard to know
> whether it is actually working correctly or not. (Doing the correct
> operation but non-atomically, or without the required memory barriers,
> would often appear to work perfectly.)

well, i am not sure, whether it can be tested for full correctness. i suppose
all we can do is to compile-tests, for the rest we would have to review the
code.

> But: my suspicion is that it is now too late for Boost.Atomic to be
> useful. g++ already seems to have its own std::atomic implementation
> (since 4.4 apparently). With the impending ratification of C++0x we
> can surely expect Microsoft and LLVM to have their implementations
> ready soon (apparently LLVM says "The only major missing piece of
> C++'0x support [in libc++] is <atomic>". So by the time a group of
> replacement maintainers got their acts together, they/we might only be
> maintaining Boost.Atomic for the benefit of a few people who are unable
> to use newest compilers. That wouldn't motivate me much.

i would hope that it is to late for a boost.atomic, but at the moment it doesn't
seem to be obsolete:

* apple is afraid to ship any gcc newer than gcc-4.2 because of gpl-3 paranoia,
  so most system use gcc-4.2 or even worse, the llvm version of it.
* gcc-4.6 (and probably earlier) cannot compile boost.lockfree with std::atomic
  i suspect, their implementation is still incomplete
* the c++0x support of clang++ is rather limited. they basically ask you to
  install a patched version of libstdc++. and libc++ is listing <atomic> as the
  final remaining piece for quite some time :/

i cannot comment on the micro$oft side, but i regularly see workarounds for
missing c99 features ...

cheers, tim




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk