Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
1-

541
(1): デフォルトの名無しさん [sage] 2019/08/20(火) 15:50:21.30 ID:KG2FXNu0(1) AAS
mkpasswdとかmkgroupとかやっとかないとあかんのじゃなかったっけ
542: デフォルトの名無しさん [sage] 2019/08/20(火) 17:27:25.95 ID:4DZMx7ke(3/3) AAS
>>539
539(2): デフォルトの名無しさん [] 2019/08/20(火) 15:20:15.93 ID:zlJnj2O9(1/2) AAS
cmd からじゃなくて mintty から実行しても遅いか?
mintty, MSYSでは動作が速かったです
cmd特有の「初回起動だけ遅い」というのはありませんでした
powershellでも試してみます

>>541
cmdでも実行は出来てるんですが、なんか初回実行だけ遅いんです
初回以降は速くて、しばらく放置してまた実行すると遅くなってます
543: デフォルトの名無しさん [] 2019/08/20(火) 17:37:17.04 ID:zlJnj2O9(2/2) AAS
キャッシュしてるとしたら socks の dll かな
544: デフォルトの名無しさん [sage] 2019/08/20(火) 17:51:30.05 ID:ITb7FkqQ(1) AAS
ログ吐かせてどこにネックがあるのかみてみないと
545: デフォルトの名無しさん [sage] 2019/08/21(水) 17:19:04.83 ID:iGK2Kp/R(1) AAS
雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが
読み込まれるのでコマンド起動遅くならないのでは
546: デフォルトの名無しさん [] 2019/08/21(水) 17:33:03.25 ID:ur92HW83(1) AAS
それならそれで解決とするか
547: デフォルトの名無しさん [sage] 2019/08/21(水) 23:34:12.77 ID:L4bPYRCx(1) AAS
dllの読み込みに時間かかってるってことですか
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
548
(1): デフォルトの名無しさん [sage] 2019/08/22(木) 04:38:34.97 ID:Rc8J28Ob(1) AAS
コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw
549: デフォルトの名無しさん [sage] 2019/08/22(木) 05:37:28.68 ID:rzNCVH2V(1) AAS
MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ
550: デフォルトの名無しさん [sage] 2019/08/22(木) 06:10:29.02 ID:dqAPG5D5(1) AAS
>>548
最初はLinuxで開発してて、それからWindows用に移植したんですよ
で、MinGWが手軽だったからMinGW使ってたんだけど
551
(1): デフォルトの名無しさん [] 2019/08/22(木) 10:15:45.06 ID:xQsiKIbM(1) AAS
そんな用途には tdmgcc64 おすすめ
552: デフォルトの名無しさん [sage] 2019/08/23(金) 03:35:27.20 ID:jZ19Qjup(1/2) AAS
ググっても一件しか出なかった
gccなのはわかる
553
(2): デフォルトの名無しさん [] 2019/08/23(金) 15:09:01.75 ID:Zx6EO+xk(1) AAS
これやろ
外部リンク:ja.wikipedia.org
外部リンク:tdm-gcc.tdragon.net
554: デフォルトの名無しさん [sage] 2019/08/23(金) 18:17:23.56 ID:jZ19Qjup(2/2) AAS
>>553
おお、ありがとう
ダウンロードしてみる
555
(1): デフォルトの名無しさん [] 2019/08/23(金) 18:24:15.33 ID:aZS2aOxa(1) AAS
今はこっちが良くね
外部リンク:text.baldanders.info
556: デフォルトの名無しさん [sage] 2019/08/24(土) 06:55:34.51 ID:Glqz8i+r(1/2) AAS
TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!!
>>551
>>553
もう少し様子見るけど、まじでありがとう

>>555
これはMinGWとは違うの?
557: デフォルトの名無しさん [] 2019/08/24(土) 09:36:31.35 ID:u2q8uNB0(1/2) AAS
staticになってるだけというオチだったらわろす
558
(1): デフォルトの名無しさん [sage] 2019/08/24(土) 14:59:08.43 ID:H4K4vAej(1) AAS
ただ単に -static -O3 -mtune=skylake を指定していないだけ
じゃねえだろうな?
559
(1): デフォルトの名無しさん [sage] 2019/08/24(土) 17:29:38.98 ID:Glqz8i+r(2/2) AAS
staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった

>>558
--mtune=skylakeってなんですか?
560
(1): デフォルトの名無しさん [] 2019/08/24(土) 17:48:35.57 ID:u2q8uNB0(2/2) AAS
DLLよりstaticが速いとか都市伝説
561
(1): デフォルトの名無しさん [sage] 2019/08/25(日) 16:54:37.16 ID:z6AAmiat(1) AAS
>>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を読み込むよりは、必要な関数のみをリンクしたスタティックな
状態の方が早い場合があるかもってこと
562: デフォルトの名無しさん [sage] 2019/08/25(日) 19:02:38.36 ID:7s5pz20M(1) AAS
もっと短く
563
(1): デフォルトの名無しさん [sage] 2019/08/25(日) 23:51:01.48 ID:V1f8d4H1(1) AAS
>>561
ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか
時間があるときに試したいと思いますm(_ _)m
564: デフォルトの名無しさん [sage] 2019/08/26(月) 01:28:47.93 ID:K2zp8I6+(1) AAS
やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない
565
(1): デフォルトの名無しさん [] 2019/08/26(月) 14:11:24.03 ID:T0vtMl8v(1/2) AAS
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
1-
あと 422 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s