投稿

5月, 2023の投稿を表示しています

TCMallocのメモ

 butterfly search(以下BF)ではmallocを多用しているのでGoogleのTCMallocを使用してみた。 TCMallocはGoogle独自のC/C++用メモリアロケータである。 ■結果 インデックス作成時間 TCMalloc未使用 2時間4分 TCMalloc使用  2時間19分 (12スレッド  メモリ確保量1GB×12スレッド=12GB ) 結論としては性能劣化でしたが、特筆すべきはTCMallocのメモリ開放性能。TCMallocはまじ高速。通常より20倍くらい速そう。(きちんと測定できておらず申し訳ない) BFはreallocを呼ぶ割合が多いことに気づきました。したがって上記の結果は参考にすらならないと思います。申し訳ありません。(2023.8.4追記) ■今後 CPUの数が12では並列度が足りないのかも。もっと高性能なCPUを入手したら再チャレンジしてみよう。 ブログでTCMallocの性能を公開している人がいるが、ぜひマルチスレッド時の性能を測ってほしい。TCMallocのコンセプトはマルチスレッド時の性能ですからね。シングルスレッドの性能で速いとか言われても。 ブログでTCMallocの性能を公開している人がいるが、ぜひ解放時の時間も含めて語ってほしい。 mallocしたらfreeするよね。普通。 TCMallocはチューニング可能との事なのでいつかやってみようかと。 TCMallocはWindowsとの相性が悪いのかもしれない。であればGoogleとしてはどうしようもないね。