Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
Cygwin + MinGW + GCC 相談室 Part 8 http://mevius.5ch.net/test/read.cgi/tech/1411399211/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
560: デフォルトの名無しさん [] 2019/08/24(土) 17:48:35.57 ID:u2q8uNB0 DLLよりstaticが速いとか都市伝説 http://mevius.5ch.net/test/read.cgi/tech/1411399211/560
561: デフォルトの名無しさん [sage] 2019/08/25(日) 16:54:37.16 ID:z6AAmiat >>559 -O3はコードの最適化を3レベル(あるいはタイプ3)で行う 実際に何を行っているかはコンパイランの説明を読まないと分からない -mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、 非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に 指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない) >>560 都市伝説ってこともない 関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで 関数BとDだけを使っていると、ダイナミックリンクの場合自分のプログラムの実行 コードに加えてすべての関数が含まれるlibhoge.dll全体を読み込む必要がある スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した 関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが 早くなる可能性は高くなる ただし、実際問題としてはdllを一回読み込めばキャッシュからなくならない限り読み込む 必要がない+Windowsのプログラミングで使用するライブラリで基本的なものは通常 システムを起動した時点でキャッシュされていることに加えて、Windowsでプログラムを 動かすために必要な関数郡はかなりの量になる事が多いのでスタティックにリンクすると すでにキャッシュされている関数郡を使わずに、必要な関数郡を含んだ大きなコードを 読み込む必要があるのでスタティックリンクの方が起動が遅くなるって本末転倒な事態が 発生することもある MinGWの場合にはWindows一般では使わないライブラリを使用するので1回目の 起動時には必要なdllを読み込むよりは、必要な関数のみをリンクしたスタティックな 状態の方が早い場合があるかもってこと http://mevius.5ch.net/test/read.cgi/tech/1411399211/561
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.045s