棄却サンプリングの意外な勝利:パフォーマンステストへの深入り
2025-01-31
著者は、レイ トレーサー PSRayTracing の最適化中に、単位円/球体内にランダムベクトルを生成するアルゴリズムのパフォーマンス テストを徹底的に行いました。当初、解析解アルゴリズムの方が棄却サンプリング アルゴリズムよりも効率的だと考えていましたが、Python と C++ のベンチマークテスト、そして様々なコンパイラとハードウェア プラットフォームでのテストの結果は予想外でした。コンパイラの最適化を有効にすると、多くの場合、棄却サンプリング アルゴリズムの方が高いパフォーマンスを示したのです。著者は、コードの最適化を行う際には、理論的な推論に頼るのではなく、必ず実際のパフォーマンス テストを行うべきだと結論付けています。なぜなら、コンパイラの最適化戦略やハードウェアの違いが、最終的なパフォーマンスに大きな影響を与えるからです。
開発
パフォーマンス テスト