google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。
google-perftoolsには次に挙げる4つのツールが含まれている。
- 高速メモリアロケータTCMalloc
- ヒープチェッカー
- ヒーププロファイラ
- CPUプロファイラ
TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト環境ではglibc 2.3のptmalloc2に比べて約6倍の処理速度を記録したという。このTCMallocも含め、上記4つのツールはいずれもプログラムのソースコードに一切の変更を加えることなく、リンク先ライブラリの変更や実行時の環境変数の設定だけで利用できる点が大きな特徴だ。したがってプログラム内に解析のための命令を埋め込む必要はなく、TCMallocを利用するためにmalloc関数の呼び出し方法を変更する必要もない。非常に手軽に導入することのできるツールである。