Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
上下前次1-新
537: 2019/08/14(水)15:59 ID:cSlSK8mm(1) AAS
> warning: hoge.hpp.gch/fuga.gch: had text segment at different address
9.2でこんなエラーが出るようになってPCHが効かない。ビルド時間が3倍に。
> cc1plus.exe: warning: '-Werror=' argument '-Werror=hoge-fuga' is not valid for C++
あとこんな警告が大量に出るようになって邪魔。
538: 2019/08/20(火)15:18 ID:4DZMx7ke(1/3) AAS
MinGWで作ったバイナリ、コマンドプロンプトで実行するとすごい遅い
一回実行するとキャッシュでもされるのかそれ以降の実行はわりと速い
ひどいときはプロセス間通信を使ってるバイナリで実行から終了まで7秒とかかかったりする
Gitとかはコマンドプロンプトで実行してもすぐに実行されるんだけど、何が違うんだろう
ウィルスソフトのリアルタイムスキャンに時間がかかってるのかと思って、問題のバイナリの除外設定とかしてみたけど、効果なかった
問題のバイナリはプロセス間通信を使ってるから、このプロセス間通信がボトルネックになってるのかなぁ
WindowsのCreateProcessはLinuxのforkに比べるとめちゃくちゃ遅いらしいし
539(2): 2019/08/20(火)15:20 ID:zlJnj2O9(1/2) AAS
cmd からじゃなくて mintty から実行しても遅いか?
540: 2019/08/20(火)15:35 ID:4DZMx7ke(2/3) AAS
>>539
試してないけど試してみます
541(1): 2019/08/20(火)15:50 ID:KG2FXNu0(1) AAS
mkpasswdとかmkgroupとかやっとかないとあかんのじゃなかったっけ
542: 2019/08/20(火)17:27 ID:4DZMx7ke(3/3) AAS
>>539
mintty, MSYSでは動作が速かったです
cmd特有の「初回起動だけ遅い」というのはありませんでした
powershellでも試してみます
>>541
cmdでも実行は出来てるんですが、なんか初回実行だけ遅いんです
初回以降は速くて、しばらく放置してまた実行すると遅くなってます
543: 2019/08/20(火)17:37 ID:zlJnj2O9(2/2) AAS
キャッシュしてるとしたら socks の dll かな
544: 2019/08/20(火)17:51 ID:ITb7FkqQ(1) AAS
ログ吐かせてどこにネックがあるのかみてみないと
545: 2019/08/21(水)17:19 ID:iGK2Kp/R(1) AAS
雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが
読み込まれるのでコマンド起動遅くならないのでは
546: 2019/08/21(水)17:33 ID:ur92HW83(1) AAS
それならそれで解決とするか
547: 2019/08/21(水)23:34 ID:L4bPYRCx(1) AAS
dllの読み込みに時間かかってるってことですか
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
548(1): 2019/08/22(木)04:38 ID:Rc8J28Ob(1) AAS
コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw
549: 2019/08/22(木)05:37 ID:rzNCVH2V(1) AAS
MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ
550: 2019/08/22(木)06:10 ID:dqAPG5D5(1) AAS
>>548
最初はLinuxで開発してて、それからWindows用に移植したんですよ
で、MinGWが手軽だったからMinGW使ってたんだけど
551(1): 2019/08/22(木)10:15 ID:xQsiKIbM(1) AAS
そんな用途には tdmgcc64 おすすめ
552: 2019/08/23(金)03:35 ID:jZ19Qjup(1/2) AAS
ググっても一件しか出なかった
gccなのはわかる
553(2): 2019/08/23(金)15:09 ID:Zx6EO+xk(1) AAS
これやろ
外部リンク:ja.wikipedia.org
外部リンク:tdm-gcc.tdragon.net
554: 2019/08/23(金)18:17 ID:jZ19Qjup(2/2) AAS
>>553
おお、ありがとう
ダウンロードしてみる
555(1): 2019/08/23(金)18:24 ID:aZS2aOxa(1) AAS
今はこっちが良くね
外部リンク:text.baldanders.info
556: 2019/08/24(土)06:55 ID:Glqz8i+r(1/2) AAS
TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!!
>>551
>>553
もう少し様子見るけど、まじでありがとう
>>555
これはMinGWとは違うの?
557: 2019/08/24(土)09:36 ID:u2q8uNB0(1/2) AAS
staticになってるだけというオチだったらわろす
558(1): 2019/08/24(土)14:59 ID:H4K4vAej(1) AAS
ただ単に -static -O3 -mtune=skylake を指定していないだけ
じゃねえだろうな?
559(1): 2019/08/24(土)17:29 ID:Glqz8i+r(2/2) AAS
staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった
>>558
--mtune=skylakeってなんですか?
560(1): 2019/08/24(土)17:48 ID:u2q8uNB0(2/2) AAS
DLLよりstaticが速いとか都市伝説
561(1): 2019/08/25(日)16:54 ID:z6AAmiat(1) AAS
>>559
-O3はコードの最適化を3レベル(あるいはタイプ3)で行う
実際に何を行っているかはコンパイランの説明を読まないと分からない
-mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする
どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、
非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に
指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない)
>>560
都市伝説ってこともない
関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで
省15
562: 2019/08/25(日)19:02 ID:7s5pz20M(1) AAS
もっと短く
563(1): 2019/08/25(日)23:51 ID:V1f8d4H1(1) AAS
>>561
ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか
時間があるときに試したいと思いますm(_ _)m
564: 2019/08/26(月)01:28 ID:K2zp8I6+(1) AAS
やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない
565(1): 2019/08/26(月)14:11 ID:T0vtMl8v(1/2) AAS
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
566(1): 2019/08/26(月)14:11 ID:T0vtMl8v(2/2) AAS
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
上下前次1-新書関写板覧索設栞歴
あと 421 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s