Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
Cygwin + MinGW + GCC 相談室 Part 8 http://mevius.5ch.net/test/read.cgi/tech/1411399211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
706: デフォルトの名無しさん [sage] 2020/05/03(日) 05:26:40.40 ID:HUz+EFHq よく見ると大きな差があるのはuser空間だから コンパイルオプションが違ってるとかなのかな? http://mevius.5ch.net/test/read.cgi/tech/1411399211/706
707: デフォルトの名無しさん [sage] 2020/05/03(日) 05:38:01.14 ID:1PSoskYy seq使うんじゃなくて{1..1000000}の方がいいかもね http://mevius.5ch.net/test/read.cgi/tech/1411399211/707
708: デフォルトの名無しさん [sage] 2020/05/03(日) 06:00:40.65 ID:HUz+EFHq >>707 つってもわずか一回だからなぁ。やってみてもいいけど WSL1 $ time bash -c 'for i in {1..1000000}; do :; done' real 0m1.710s user 0m1.547s sys 0m0.156s Cygwin $ time bash -c 'for i in {1..1000000}; do :; done' real 0m4.854s user 0m4.811s sys 0m0.108s MinGW64 $ time bash -c 'for i in {1..1000000}; do :; done' real 0m4.934s user 0m4.843s sys 0m0.109s あとあれから少しわかったのはMinGWは何回か繰り返せば Cygwinに迫るのでファイル読み込み?とかも少し関連してるんだと思う が2倍以上かかることに変わりはない cygwin.dll?とかが遅いのかもな。MinGWでも使ってるんじゃなかったっけ? http://mevius.5ch.net/test/read.cgi/tech/1411399211/708
709: デフォルトの名無しさん [sage] 2020/05/03(日) 07:25:18.35 ID:69WKUEPM >>708 を、WSL1, Ubuntu 18.04 で、3回やった。 8GB メモリ、CPU-i3・エコモード real 0m4.680s user 0m4.234s sys 0m0.453s http://mevius.5ch.net/test/read.cgi/tech/1411399211/709
710: デフォルトの名無しさん [sage] 2020/05/03(日) 07:38:38.22 ID:HUz+EFHq >>709 いや比較しないと意味ないだろw http://mevius.5ch.net/test/read.cgi/tech/1411399211/710
711: デフォルトの名無しさん [sage] 2020/05/03(日) 07:39:48.20 ID:HUz+EFHq ちなみに俺のはCPUはi7な Cygwin、MinGWを実行したら それの2倍かかるはず http://mevius.5ch.net/test/read.cgi/tech/1411399211/711
712: デフォルトの名無しさん [sage] 2020/05/03(日) 21:39:24.17 ID:ADBK+oPb cygwinはforkがヘボいから遅い MinGWといいつつmsysのbashやろ これもforkがcygwinゆずりだから遅い。 wslもfork遅いと思うけど。 virtual boxにwindowsファイルを共有させたものの方が実は速い。 純粋にwindowsとLinuxの環境を同居させたきゃ仮想PC Linuxでwindows binaryをクロスビルド、テストまでしたけりゃwsl http://mevius.5ch.net/test/read.cgi/tech/1411399211/712
713: デフォルトの名無しさん [sage] 2020/05/03(日) 21:47:49.28 ID:v0W4oGhj まあ名前解決のところと passwd/group の設定はしといた方がいいね http://mevius.5ch.net/test/read.cgi/tech/1411399211/713
714: デフォルトの名無しさん [sage] 2020/05/03(日) 23:40:13.01 ID:sXSeyux8 >>712 forkが遅いのはわかってるけど、 このコードでforkなんて大量にはしないだろ? time bash -c 'for i in {1..1000000}; do :; done' http://mevius.5ch.net/test/read.cgi/tech/1411399211/714
715: デフォルトの名無しさん [] 2020/05/04(月) 02:27:10.75 ID:R/PLl+Gn 元々、bash が、ループ向きではないから、dash などを使う for は遅いから、while などを使う。 実行時間中のほとんどが、フォークの時間 ループは、awk, perl, ruby などでは、0.1 秒も掛からない。 単一プロセス中の処理だから http://mevius.5ch.net/test/read.cgi/tech/1411399211/715
716: デフォルトの名無しさん [sage] 2020/05/04(月) 03:06:12.15 ID:szliIti6 あ、dashの結果書くの忘れてた。dashは速いから数を10倍にしてる 傾向は一緒。ただのループなのに2倍ぐらいの差が出てしまう WSL1 $ time dash -c 'for i in $(seq 10000000); do :; done' real 0m4.480s user 0m2.875s sys 0m2.047s Cygwin $ time dash -c 'for i in $(seq 10000000); do :; done' real 0m7.598s user 0m6.531s sys 0m1.296s MinGW64 $ time dash -c 'for i in $(seq 10000000); do :; done' real 0m7.905s user 0m6.905s sys 0m1.155s http://mevius.5ch.net/test/read.cgi/tech/1411399211/716
717: デフォルトの名無しさん [sage] 2020/05/04(月) 03:06:42.72 ID:szliIti6 >>715 どこでフォークしてるというの? http://mevius.5ch.net/test/read.cgi/tech/1411399211/717
718: デフォルトの名無しさん [sage] 2020/05/04(月) 03:16:08.18 ID:szliIti6 awkは更に速いから、更に10倍にしてる。これなら理解できるな。 CygwinとMinGW64がWSL1より少し遅いのは起動時のパフォーマンスの差だろう ってことはシェルスクリプトだと、なにか遅くなる処理をやってるってことか 整数型じゃないとか? WSL1 $ time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}' real 0m4.121s user 0m4.109s sys 0m0.016s Cygwin time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}' real 0m4.978s user 0m4.875s sys 0m0.031s MinGW64 $ time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}' real 0m4.586s user 0m4.562s sys 0m0.015s http://mevius.5ch.net/test/read.cgi/tech/1411399211/718
719: 715 [sage] 2020/05/04(月) 04:54:04.28 ID:R/PLl+Gn for がコマンドだから、フォークされるのだろ。 だから、シェルスクリプトでは、while を使えと言われる bash よりも、dash を使う。 それ以上は、awk, perl, ruby http://mevius.5ch.net/test/read.cgi/tech/1411399211/719
720: デフォルトの名無しさん [sage] 2020/05/04(月) 05:14:01.45 ID:szliIti6 whileを使うと遅いからforに変えたのですが? forを使った>>716とループ回数は同じ WSL1 $ time dash -c 'for i in $(seq 10000000); do :; done' real 0m4.480s user 0m2.875s sys 0m2.047s $ time dash -c 'i=0; while [ $i -lt 10000000 ]; do i=$((i+1)); done' real 0m15.811s user 0m15.766s sys 0m0.016s Cygwin $ time dash -c 'for i in $(seq 10000000); do :; done' real 0m7.598s user 0m6.531s sys 0m1.296s $ time dash -c 'i=0; while [ $i -lt 10000000 ]; do i=$((i+1)); done' real 0m26.173s user 0m26.109s sys 0m0.031s MinGWはCygwinと大差ないので省略 http://mevius.5ch.net/test/read.cgi/tech/1411399211/720
721: 715 [sage] 2020/05/04(月) 07:28:52.02 ID:R/PLl+Gn 8年前のシェルスクリプトの本には、 10万行の処理で、 for : 9分 while : 5秒 awk/perl : 0.1秒 http://mevius.5ch.net/test/read.cgi/tech/1411399211/721
722: 715 [sage] 2020/05/04(月) 07:33:20.66 ID:R/PLl+Gn $((i+1)) という部分が、コマンドだから遅いのだろう ほとんどが、そのフォーク時間 http://mevius.5ch.net/test/read.cgi/tech/1411399211/722
723: デフォルトの名無しさん [sage] 2020/05/04(月) 07:37:26.49 ID:iIYyf/rd せいぜいbashのサブコマンドで、forkしとらん気がする ただマルチスレッドは使ってるかも知れんし、その際のメモリ操作はなんか性能の問題があった気はする http://mevius.5ch.net/test/read.cgi/tech/1411399211/723
724: デフォルトの名無しさん [sage] 2020/05/04(月) 07:49:25.72 ID:szliIti6 >>722 コマンドじゃないよ http://mevius.5ch.net/test/read.cgi/tech/1411399211/724
725: デフォルトの名無しさん [sage] 2020/05/04(月) 18:39:29.61 ID:EvcVp/Zr $(())内でiを更新できることから分かるようにforkしていないし、少なくともbashとdashはシングルスレッド linux上で ltrace -f bash -c 'for i in {1..1000000}; do :; done' したら、mallocを何度も呼んでいるようだから、ヒープ操作関係が遅い可能性はある 実際、linux上でもmallocの実装をglibcのからjemallocに切り替えたら上のループが2割近く速くなった http://mevius.5ch.net/test/read.cgi/tech/1411399211/725
726: デフォルトの名無しさん [sage] 2020/05/06(水) 17:53:36.31 ID:cyb3WwF6 wsl2は仮想マシンになるのか windowsバイナリ実行できるのかな http://mevius.5ch.net/test/read.cgi/tech/1411399211/726
727: デフォルトの名無しさん [] 2020/05/06(水) 19:33:37.07 ID:DK8FW5YB 以下のパッケージ、入れようとすると対象が見つからないと出るんだけど・・・ dlfcn libpng tools-git jq clang http://mevius.5ch.net/test/read.cgi/tech/1411399211/727
728: デフォルトの名無しさん [sage] 2020/05/06(水) 20:42:44.30 ID:Fjn1hDTG WSL, Ubuntu 18.04 には、jq もあるけど apt-cache show jq メンテナー : 陳昌倬 http://mevius.5ch.net/test/read.cgi/tech/1411399211/728
729: デフォルトの名無しさん [sage] 2020/05/06(水) 22:45:14.75 ID:UqyV1t7H >>727 ないんだろ?Cygwinは独自のディストリ Windowsに移植できたもの、自分が関心があるパッケージしか 登録されていない http://mevius.5ch.net/test/read.cgi/tech/1411399211/729
730: デフォルトの名無しさん [] 2020/05/11(月) 23:46:54.34 ID:77t5bXxM GCC 10.1まだですか http://mevius.5ch.net/test/read.cgi/tech/1411399211/730
731: デフォルトの名無しさん [sage] 2020/05/12(火) 00:26:10.57 ID:6XbzcR0E ついにGCCのバージョンも10まできたか・・ http://mevius.5ch.net/test/read.cgi/tech/1411399211/731
732: デフォルトの名無しさん [sage] 2020/05/12(火) 01:18:10.18 ID:yS+J4vmz GCCじゅにや http://mevius.5ch.net/test/read.cgi/tech/1411399211/732
733: デフォルトの名無しさん [sage] 2020/05/12(火) 07:09:28.82 ID:zxRznJOz カバにダンスをさせるのは あまり楽しくないそうだ http://mevius.5ch.net/test/read.cgi/tech/1411399211/733
734: デフォルトの名無しさん [sage] 2020/05/14(木) 00:17:24.56 ID:rBW8Yffw MSYS2でWin32アプリ作ってみようとチャレンジ中 http://mevius.5ch.net/test/read.cgi/tech/1411399211/734
735: デフォルトの名無しさん [] 2020/05/14(木) 10:05:25.88 ID:tvxDWcUo きばれ tdm-gcc (64) http://mevius.5ch.net/test/read.cgi/tech/1411399211/735
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 252 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s