並列処理性能を重視したデータベースライブラリTkrzwだが、ついにGo言語をサポートした。並列処理が簡単に書けるGo言語と並列に読み書きできるDBMの親和性は高い。ここでは、各言語の性能比較をした上で、Goでの簡単な使い方について説明する。 各言語で、1000万個のレコードの格納(Set)と検索(Get)のスループットを計測してみよう。キーと値はそれぞれ8バイトのユニークな文字列である。データ構造にはハッシュデータベースを用い、ハッシュバケットの数はレコード数の2倍とする。どの言語でも標準ライブラリのスレッド機能を使っている。Goでは当然ゴルーチンを起動している。マシンは私のノートPC(Core i7 8550U 1.8Ghz)である。単位はQPS(クエリ毎秒)である。 1スレッド Set 1スレッド Get 4スレッド Set 4スレッド Get C++ 1,328,341 1,615,