
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 05/02/2010 09:49 AM, Marius Stoica wrote:
I've used a few of those, and haven't noticed a major compile-speed problem, which is an argument in your favor.
Dunno if you notticed but i was just checking the first boost libraries in alphabethic order. I guess what i was trying to say is that pretty much all the boost libraries are like this. It's ... tradition :)
Just not a tradition that I've personally experimented with. :-)
Also i'm not certain the headers need to be parsed every time anyway. Most compiler support precompiled headers. If compilation speed becomes too much of an issue I'm sure they'll become more widely used.
Another good point.
Also, multithreaded operation is still fairly uncommon. I'd hate to make everyone pay for something that only a few need, especially when the speed cost is so high (the single-threaded version is *twice* the speed of the multithreaded one).
How did you managed to get that difference anyway since threads are just processes without the memory protection.
Copy-on-write. Though please see my reply to Joel Falcou this morning; I may have misinterpreted the results. I'll test that later today, when I have some free time.
C++11 will add several things related to this including thread local storage , move and others. Do you expect that with this the difference will dissapear?
It's quite possible. Copy-on-write is still measurably faster than emulated move semantics via Boost.Move, but built-in ones could very well erase that difference.
If so i think it's best to support this with a compile flag since that can be easily deprecated.
That's how I'm doing it now. :-) - -- Chad Nelson Oak Circle Software, Inc. * * * -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvdrvYACgkQp9x9jeZ9/wSLhwCgzHVd7qb5Wjwp11UVWAs873d2 jB0An3gW90OfCio58ZxPN9TiWxniidUk =N7yJ -----END PGP SIGNATURE-----