From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-03-22 12:45:46


Johan Nilsson wrote:
> Peter Dimov wrote:
>> Anthony Williams wrote:
>>
>>> For a non-pthreads platform, it might make sense to implement
>>> pthreads in terms of the C++ interface, which is implementes in
>>> terms of the native API, rather than implement the C++ interface in
>>> terms of pthreads, which is then implemented in terms of the native
>>> API.
>>
>> Yes, this is possible, and there are no technical reasons to avoid
>> this implementation approach. There are, how should I put that,
>> ideological reasons to not target non-pthread platforms directly,
>> though.
>
> Wow, this caught my eye when lurking around. Are we promoting
> Windows-bashing for its own sake here ;-)

No, you misunderstood.

We are promoting ISO/IEC 9945 as a standard threading abstraction. We are
(hypothetically) providing an implementation for Windows as a service to the
users/developers and as a proof of viability. We are encouraging Microsoft
to supply its own implementation because they can do it better than us with
access to the kernel.

> I'd be surprised if there were no performance considerations at all.

One would expect a C++ programmer to be more careful with that argument,
given his constant exposure to C programmers who really would be surprised
if using C++ doesn't make their code slower. ;-)

That aside, if there is a legitimate design-imposed source of inefficiency
in N2178, I'll be glad to know about it so that it can be fixed.