gcc: 11.64s user 0.17s system 96% cpu 12.181 total llvm-gcc: 12.68s user 0.17s system 97% cpu 13.164 total
というわけでgccの勝ち。あれれ。
なお、環境はMac OS X 10.5.5 / 2.4GHz Intel Core 2 Duo、llvm-gcc,gccのバージョンは
LLVM-gcc: gcc version 4.2.1 (Based on Apple Inc. build 5623) (LLVM build 2.4)
gcc: gcc version 4.0.1 (Apple Inc. build 5484) Lameのビルド方法は、Mac版のLLVM-gccを落としてきてパス通してCC=llvm-gcc ./configureしただけです。 NASMは入ってないのでアセンブラ記述のFFTは使われず、C版になっているはず。
簡単に実験してみた (スコア:5, 興味深い)
負荷は4分ほどのWavファイルのMP3エンコードにしました。
gcc: 11.64s user 0.17s system 96% cpu 12.181 total
llvm-gcc: 12.68s user 0.17s system 97% cpu 13.164 total
というわけでgccの勝ち。あれれ。
なお、環境はMac OS X 10.5.5 / 2.4GHz Intel Core 2 Duo、llvm-gcc,gccのバージョンは
LLVM-gcc: gcc version 4.2.1 (Based on Apple Inc. build 5623) (LLVM build 2.4)
gcc: gcc version 4.0.1 (Apple Inc. build 5484)
Lameのビルド方法は、Mac版のLLVM-gccを落としてきてパス通してCC=llvm-gcc ./configureしただけです。
NASMは入ってないのでアセンブラ記述のFFTは使われず、C版になっているはず。
もっとllvm-gccのオプション等を頑張って最適化しないとダメなのかも。
Re:簡単に実験してみた (スコア:2, 参考になる)
MinGW-gcc: 9.133s
VisualStudio-cl: 8.051s
llvm-gcc: 5.387s
環境はWindows 2000/Intel Celeron 1.0GHz
llvm-gcc (GCC) 4.2.1 (Based on Apple Inc. build 5623) (LLVM build)
gcc (GCC) 3.2 (mingw special 20020817-1)
cl Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
MinGW-gcc のバージョンが古いのが気になりますが、とりあえず Windows 環境では最も効果的に最適化できるようなので、使いではあるのではないかと思います。
尚、私の環境では としてしまうとなぜか共有違反を起こすバイナリができてしまうので、一度 LLVM bitcode を出力してアセンブラにコンパイルしてMinGW-gccでアセンブルしました。
Re:簡単に実験してみた (スコア:1, 参考になる)
あたりが関係しているのかも。この問題はまだ fix されてません。