5

C++17 のトランザクショナル メモリの提案の現在のステータスは何ですか。それは、標準 C++ の将来のバージョンに含まれることを目的として、標準に含まれる予定ですか? それとも、標準化のステータスがまだ未定で、実験的な概念実証機能にすぎませんか?

標準化委員会の文書のいくつかは、ここで矛盾したコミュニケーションを与えているように見えるので、私は尋ねています。一方では P0265R0 ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0265r0.pdf ) が、トランザクション メモリが標準化される予定はないと言っています。手 - C++ 17 機能リストに記載されているトランザクショナル メモリを使用した Stroustrup ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4492.pdf ) による N4492 論文があります。

4

1 に答える 1

7

まもなく: トランザクショナル メモリ TS は既に公開されており、2 番目のバージョンが開発されています。ただし、委員会は、near 機能の標準にそれを含める予定はありません。この選択にはいくつかの理由があります。

  • 十分な実装経験がありません。GCC6 以降は g++ のみが実装しています。TS の目的の 1 つは、実装とユーザー エクスペリエンスを収集することです。そのため、このような大きな機能は、その点に関してはまだ「未熟」です。

  • すべてのターゲットがトランザクション メモリをサポートしているわけではありません。また、すべての人が必要とするわけではありませんが、実装コストが高くなります。これらの理由から、委員会は、TS が主要な C++ 標準の一部であるべきかどうかについて明らかに確信が持てません。TSとして永遠に生き続けることもできます。

  • さらに、トランザクショナル メモリ TS のすべての機能が主要な C++ 標準に含まれる価値があると誰もが信じているわけではありません。それsynchronizedが主な機能であると考える人もいれば、原子ブロックが真のゲームチェンジャーであると考える人もいます. TSは、ライブラリの実装者が対処しなければならない別の認知オーバーヘッドを追加します (一般的には良いこととは見なされていないいくつかの新しいキーワードも同様です)。

于 2016-08-19T13:18:53.630 に答える