アカウント名:
パスワード:
とってかわるような物ではないでしょと思ったけど、ChangeLogにも
A new implementation of std::string is enabled by default, using the small string optimization instead of copy-on-write reference counting.
とあって謎い。文字列が短いときにはという話なのか、それとも…?
参照カウンタを使うCOWは、参照を追加するだけでオブジェクトが更新されるためキャッシュフレンドリーでなく、マルチスレッド環境下での共有に同期が必要になるため、汎用的な文字列ライブラリとしては最近はあまり好まれないのです。以前から問題視されていたのですが、ABI互換性維持のため長らく直せなかったのです。今回、ようやくCOWを止めましたよ、というニュースかと思います。
SSOは別の話というか、COWの代わりにイマドキのコンテナライブラリとしてポピュラーな実装手法を採用したよ、という話かと。おっしゃるとおり別に対立するようなものではないと思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
std::stringのSSOとCOW (スコア:0)
とってかわるような物ではないでしょと思ったけど、ChangeLogにも
とあって謎い。文字列が短いときにはという話なのか、それとも…?
Re:std::stringのSSOとCOW (スコア:5, 参考になる)
参照カウンタを使うCOWは、参照を追加するだけでオブジェクトが更新されるためキャッシュフレンドリーでなく、
マルチスレッド環境下での共有に同期が必要になるため、汎用的な文字列ライブラリとしては最近はあまり好まれないのです。
以前から問題視されていたのですが、ABI互換性維持のため長らく直せなかったのです。
今回、ようやくCOWを止めましたよ、というニュースかと思います。
SSOは別の話というか、COWの代わりにイマドキのコンテナライブラリとしてポピュラーな実装手法を採用したよ、という話かと。
おっしゃるとおり別に対立するようなものではないと思います。