gccをビルドするときにlibstdc ++をネイティブアーキテクチャに調整する方法


3

最近、C ++ソフトウェアをビルドするときに、g ++ march = nativeオプションを使用すると、約10%高速化されることがわかりました。gccとlibstc ++をコンパイルするときに、libstdc ++ライブラリをネイティブアーキテクチャに合わせて調整することは可能ですか?これについては、gccインストール構成のドキュメントに記載されていません。(Intel Core i7 Sandy Bridge-Eプロセッサを搭載したLinux Mint 11でgcc 4.6.2を構築しています。)

明確化:

私は通常、gccをビルドするときにlibstc ++をビルドします。たとえば、これはまさに私がやっていることで、いくつかのチューニングオプションを追加しようとしています。

$ wget http://mirrors-us.seosue.com/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.gz 
$ tar -xzf gcc-4.6.2.tar.gz 
$ mkdir gcc-4.6.2-objdir 
$ cd gcc-4.6.2-objdir/ 
$ ../gcc-4.6.2/configure 
$ make
# make install

良い質問ですが、スタックオーバーフローの方が良いかもしれません。
ハッサン

@Hassan、そこにトピックがあるかどうかはわかりませんが、確かにここにトピックがあります。
-soandos

回答:


0

自分でlibstc ++をコンパイルしていない限り、おそらくオブジェクトファイルをダウンロードしただけです。その場合は、それについて何も変更できません。

探しているパフォーマンスを得るには、ソースコードをダウンロードし、使用するオプションでコンパイルする必要がある場合があります。

ノート:

システムに複数のバージョンのlibstc ++がインストールされていると注意が必要になる場合があります(Ubuntuでこれにいくつか問題があり、解決するためにバージョンの1つを完全に削除しましたが、管理する方法があると確信していますが)それ)。

-mtune = genericフラグを使用してコードをコンパイルしても、ライブラリのバージョンが間違っている場合、結果のバイナリがターゲットマシンで実行されることを期待しないでください(異なるマシンであると仮定)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.