benchmarks
- FreeBSD 9.
1: LLVM/ Clang Battling GCC PhoronixにPC-BSD 9.
1 "Isotope" amd64 (FreeBSD) においてLLVM Clang 3. 1とGCC 4. されました。興味深い内容です。2.1でコンパイルしたソフトウェアのベンチマーク結果が掲載 (FreeBSD 9. 1: LLVM/ Clang Battling GCC) FreeBSDはFreeBSD 10.
0-RELEASEの段階でLLVM Clangをシステムのデフォルトコンパイラにする方向で作業を進めています。次のように10-CURRENTのcc(1)はLLVM Clang 3. 2に変更されています。 先日リリースされた9.
1-RELEASEではGCC 4. 2.1がデフォルトのコンパイラとなっていますが、 LLVM Clang 3. 1もインストールされます。Phoronixに掲載されたFreeBSD 9. 1: LLVM/ は、Clang Battling GCC FreeBSD 9. 1-RELEASEにデフォルトインストールされる2つのコンパイラの性能を比較する、 といった趣向になっています。 詳細は結果はPhoronixの記事をご覧いただきたいのですが、
簡単にまとめると、 LLVM ClangはOpenMPに対応していないため、 OpenMPを使用するソフトウェアでは性能を発揮できないが、 それ以外ではほぼGCC 4. 2.1よりも良好な結果を出している、 というものになります。 GCC 4.
2.1がリリースされたのは2007年で、 Clangは2012年ですから、 こうした結果になるのは妥当なところです。FreeBSD的な視点からみた場合、 GCC 4. 2.1からClangへ移行することで、 少なくとも性能が劣化するといったことはないように見えます。 GCC 4.
8や4. 7などより最新のGCCとの性能を比較した記事はLLVM/ Clang 3. に掲載されています。OpenMPに対応していないため、 OpenMPを使用するソフトウェアではLLVM Clangの結果が劣るものの、2 Compiler Competing With GCC それ以外の項目ではClangが速かったりGCCが速かったりどっこいどっこいの結果になっています。 LLVM ClangはライセンスがBSDライセンスであるため、
高性能アプライアンスや組み込み機器などでFreeBSDを利用する場合にベンダの受けがよいという特徴があるほか、 メモリが少ない状況でGCCよりもコンパイル時間が短くて済むといわれています。 この手のベンチマークは使用するプロセッサの種類(Core i7なのか、
Xeonなのか、 Opteronなのか、 などなど)が変わると、 結構結果も変わります。ですので1つの指針ということにしかなりませんが、 なかなか興味深い結果です。