HackerNews

O3がO2の2倍遅い時の考察

When O3 is 2x slower than O2

https://cat-solstice.github.io/test-pqueue/


この記事では、カスタムバウンデッドプライオリティキューの最適化中に発見したパスロジカルケースについて詳しく解説しています。特に、RUSTFLAGSを使用した性能ベンチマークにより、最適化レベル3(opt-level=3)と最適化レベル2(opt-level=2)の比較を通じて、性能が+123%も悪化する問題を示しています。データ構造としては、ユニークなIDに対して距離(dist)を持つ要素からなるリストを保持し、新しい要素の挿入時にバイナリサーチを利用しています。しかし、floatsの比較が難しいため、パフォーマンスの低下を引き起こす要因となっている可能性があります。ベンチマーク結果は難解であることが多く、プロファイリングツールによるさらなる分析が必要です。