「glibc 2.26」リリース、mallocのスレッド毎キャッシュによる高速化やUnicode 10サポートなどが導入される

 The GNU C Library(glibc)開発チームは8月2日、標準Cライブラリ実装の最新版「glibc 2.26」を公開した。Uniode 10のサポート、mallocへのスレッド単位のキャッシュ機能のマージなどといった新機能が加わっている。

 GNU C Library(glibc)は移植性と高性能にフォーカスしたCライブラリ。ISO C11、POSIX.1-2008などの標準に準拠しており、LGPLv2.1の下でライセンスされている。

 glibc 2.26は2月にリリースしたバージョン2.25に続く最新版。スレッド毎のキャッシュ機能がmallocにマージされた。キャッシュへのアクセスにはロックが必要ないため、小さい単位でのメモリ割り当ておよび解放が大幅に高速化されるという。実際の測定結果でも、さまざまなユーザーワークロードで大きく性能を改善できていると報告されている。

 また、Unicode 10.0.0がサポートされた。文字のエンコード、種類情報、翻字テーブルなどがUnicode 10.0.0準拠のものにアップデートされている。

 DNSスタブリゾルバも強化された。例えば、/etc/resolv.confが修正され、変更された設定がリロードされる際にそれを検出できるようになった。アプリケーションの作者などがランタイムライブラリの振る舞いを変更できるTunableもデフォルトで有効になっている。Tunableの設定はGLIBC_TUNABLES環境変数を使って調整できる。

 新しい関数としてreallocarray()が導入さrせた。reallocのように割り当てられたブロックのサイズを変更できる機能で、元々はOpenBSDで開発され、glibcプロジェクトに提供されたもの。また、Linuxシステムコール向けの新しいラッパーとして、preadv2とpwritev2が加わった。

 このほかにも細かな機能強化が加わり、バグも修正されている。

GNU C Library
http://www.gnu.org/software/libc/