FreeBSD Daily Topics
2013年2月8日 LLVM Clang 3.1とGCC 4.2.1の性能比較
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に変更されています。 # cc --version FreeBSD clang version 3.
2 (tags/ RELEASE_ 32/ final 170710) 20121221 Target: x86_ 64-unknown-freebsd10. 0 Thread model: posix # clang --version FreeBSD clang version 3. 2 (tags/ RELEASE_ 32/ final 170710) 20121221 Target: x86_ 64-unknown-freebsd10. 0 Thread model: posix # gcc --version gcc (GCC) 4. 2.1 20070831 patched [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # 先日リリースされた9.
1-RELEASEではGCC 4. 2.1がデフォルトのコンパイラとなっていますが, LLVM Clang 3. 1もインストールされます。Phoronixに掲載されたFreeBSD 9. 1: LLVM/ は,Clang Battling GCC FreeBSD 9. 1-RELEASEにデフォルトインストールされる2つのコンパイラの性能を比較する, といった趣向になっています。 # cc --version cc (GCC) 4.
2.1 20070831 patched [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # clang --version FreeBSD clang version 3. 1 (branches/ release_ 31 156863) 20120523 Target: x86_ 64-unknown-freebsd9. 0 Thread model: posix # gcc --version gcc (GCC) 4. 2.1 20070831 patched [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # 詳細は結果は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つの指針ということにしかなりませんが, なかなか興味深い結果です。
バックナンバー
FreeBSD Daily Topics
- 2013年2月27日 FreeNASとNAS4Freeの比較
- 2013年2月26日 Arch BSD,ISOイメージを公開 - インストール方法紹介
- 2013年2月25日 FreeBSD 8.4-RELEASE,4月にリリースの予定
- 2013年2月19日 Wayland,FreeBSDへの移植はじまる
- 2013年2月18日 インストーラを使わないでFreeBSDをインストールする方法,第15回 FreeBSD勉強会
- 2013年2月15日 FreeNAS,ZFSボリュームの暗号化機能導入へ
- 2013年2月14日 PC-BSD/TrueOS,パッケージをpkg(8)へ・システムアップデートをfreebsd-update(8)へ変更すると新戦略を発表
- 2013年2月13日 FreeBSDにおけるC11,C11++,C99対応状況
- 2013年2月8日 LLVM Clang 3.1とGCC 4.2.1の性能比較
- 2013年2月7日 AsiaBSDCon 2013,オンライン登録開始