|
From: | Piotr Stanczyk |
Subject: | Re: [Openexr-devel] Thread safety |
Date: | Wed, 3 Apr 2013 16:39:00 +0000 |
I'd like to echo the TBB sentiments. It really is a pleasure to work with, but it is not part of the standard as you mention.
I would like to get a better sense from the developer community about the range of versions of compilers supported as well as the platforms targeted. Would C++11 be a viable default option? Piotr From: Christopher Horvath address@hidden
Sent: 03 April 2013 09:17 To: Piotr Stanczyk Cc: Peter Hillman; address@hidden Subject: Re: [Openexr-devel] Thread safety I think it should be a config-level decision. People who (god-forbid) need to maintain different thread-capable installations could then have their packaging system deal with "exr_omp", "exr_posix", "exr_cxx11", "exr_tbb".
I have seen astonishing performance from the TBB library, but it is not part of a standard, and it is controlled entirely by Intel, which makes it a risky choice for the default implementation. However, OpenVDB depends entirely upon it, so there
is a precedent. OpenMP is natively supported in both C and C++, and is implemented across a large number of compilers by way of compiler directives. It is a more restrictive standard, and has a lot of limitations. Plus, it's existence in #pragma form seems
kludgy to me.
My vote for the default would be to use the std::thread library, as part of the C++11 standard.
I would then support TBB, OMP, and other implementations as optional extensions.
Chris
On Wed, Apr 3, 2013 at 9:06 AM, Piotr Stanczyk
<address@hidden> wrote:
I think this situation absolutely requires that a really futile and stupid gesture be done on somebody's part. And we're just the guys to do it. |
[Prev in Thread] | Current Thread | [Next in Thread] |