
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 05/02/2010 02:44 AM, joel falcou wrote:
If you're saying that people often write multithreaded programs, then I have to disagree. In my experience, it's rare, and most programmers actively avoid them.
Plural of anedocte is not data. In genral, not taking multithreading seriously now is likely to be a problem in the upcoming years.
I thought I *was* taking it seriously. I'm providing a way to support it, after all. :-)
Then it means you did somethign wrong or the code doesn't lend itself to trivial multithreading ...
Sorry for the tone of that, I wasn't implying anything wrong with yourself, just that this kind of result (multithreaded version being slower) is usually because soemthing don't lend itself to be multithreaded. Do you have this MT code somewhere still, i may have a look if needed.
All of the code is available in the Boost Sandbox <https://svn.boost.org/svn/boost/sandbox/xint> and Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&filename=xint.zip&directory=&>. There are only two (well, three now) things that change when switching to the thread-safe version: integers aren't allowed to use copy-on-write, access to the random number generator is serialized, and (now) Boost.Move semantics are enabled. I've been assuming that the copy-on-write was responsible for the major part of the speed difference, but after thinking about it, that doesn't make a lot of sense. The serialized access to the random number generator could be responsible for a good part of it. The tests I based that assumption on used it heavily. I'll run some further tests when I have a chance today to see how they turn out. - -- 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/ iEYEARECAAYFAkvdkxcACgkQp9x9jeZ9/wQ8VQCeNivTi3WQMZU0+m5uMSx5su+s 1uUAoKOhdtuTS3EAKj/364amZ/ZPHD+M =hDR/ -----END PGP SIGNATURE-----