Ubuntuパッケージを90%高速化:再コンパイルとメモリ割り当ての物語

2025-03-19
Ubuntuパッケージを90%高速化:再コンパイルとメモリ割り当ての物語

この記事では、Ubuntuで使用されているjqソースパッケージを再コンパイルすることで、驚異的な90%の性能向上を実現した方法を詳しく説明しています。著者は500MBのGeoJSONファイルを使ってベンチマークを行いました。パッケージを単純に再ビルドするだけでも、わずかながらも目に見える速度向上が見られました。さらに、clangコンパイラとより良いオプション(-O3、-flto、-DNDEBUG)を使用することで、20%の向上を達成しました。TCMallocメモリアロケータに切り替えることで、さらに40%の性能向上を実現しました。最後に、mimallocメモリアロケータを使用することで、動的にロードする場合でも、再ビルドに統合する場合でも、驚くべき90%の速度向上を実現しました。mimallocを使用して再コンパイルされたjqは、様々なテストにおいて、デフォルトのUbuntuパッケージのほぼ2倍の速度を達成しました。