New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clear up a note about condition variables #2647
Conversation
I've been looking far and wide but nowhere in the papers about condition variables have I found note about efficiency of them being platform dependent. The implementation of `std::condition_variable_any` in libc++ is a generalization of `std::condition_variable`, which points towards the efficiency being bound more to the implementation than the platform.
The efficiency of |
I'm mildly in favor of this change, because we usually talk about "implementation" in the C++ standard when we mean anything related to the compiler or OS platform. For example, [fs.conform.9945] consistently talks about "implementations", encompassing both the C++ library and the OS platform. I'm lukewarm about the "maximum" -> "better" change, although relative statements (as opposed to absolute ones) seem more appropriate for a standard document. |
Yes, it looks like all the other uses of "platform" are at least in Notes (and although this preamble is only semi-normative, it's not actually in a Note). |
With this PR I wanted to start off some discussion about the issue. |
Well the spec of
If we're going to change this, I'd also suggest changing "some implementations", as that is meaningless. Which ones? Does it tell a user whether their implementation gets maximum performance? How about:
|
@jwakely, sounds good to me. |
Yep, that sounds much better. |
I've been looking far and wide but nowhere in the papers about condition variables have I found note about efficiency of them being platform dependent. The implementation of
std::condition_variable_any
in libc++ and in libstdc++ is a generalization ofstd::condition_variable
, which points towards the efficiency being bound more to the implementation than the platform.