X



Cygwin + MinGW + GCC 相談室 Part 8
0001デフォルトの名無しさん
垢版 |
2014/09/23(火) 00:20:11.40ID:G97CLCj1
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
Cygwin + MinGW + GCC 相談室 Part 7
http://peace.2ch.net/test/read.cgi/tech/1357019230/
Cygwin + MinGW + GCC 相談室 Part 6
http://toro.2ch.net/test/read.cgi/tech/1304609116/
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/

関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/

関連スレッド:
GCCについて part10
http://toro.2ch.net/test/read.cgi/tech/1315026784/
0714デフォルトの名無しさん
垢版 |
2020/05/03(日) 23:40:13.01ID:sXSeyux8
>>712
forkが遅いのはわかってるけど、
このコードでforkなんて大量にはしないだろ?

time bash -c 'for i in {1..1000000}; do :; done'
0715デフォルトの名無しさん
垢版 |
2020/05/04(月) 02:27:10.75ID:R/PLl+Gn
元々、bash が、ループ向きではないから、dash などを使う

for は遅いから、while などを使う。
実行時間中のほとんどが、フォークの時間

ループは、awk, perl, ruby などでは、0.1 秒も掛からない。
単一プロセス中の処理だから
0716デフォルトの名無しさん
垢版 |
2020/05/04(月) 03:06:12.15ID: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
0718デフォルトの名無しさん
垢版 |
2020/05/04(月) 03:16:08.18ID: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
0719715
垢版 |
2020/05/04(月) 04:54:04.28ID:R/PLl+Gn
for がコマンドだから、フォークされるのだろ。
だから、シェルスクリプトでは、while を使えと言われる

bash よりも、dash を使う。
それ以上は、awk, perl, ruby
0720デフォルトの名無しさん
垢版 |
2020/05/04(月) 05:14:01.45ID: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と大差ないので省略
0721715
垢版 |
2020/05/04(月) 07:28:52.02ID:R/PLl+Gn
8年前のシェルスクリプトの本には、
10万行の処理で、

for : 9分
while : 5秒
awk/perl : 0.1秒
0722715
垢版 |
2020/05/04(月) 07:33:20.66ID:R/PLl+Gn
$((i+1)) という部分が、コマンドだから遅いのだろう

ほとんどが、そのフォーク時間
0723デフォルトの名無しさん
垢版 |
2020/05/04(月) 07:37:26.49ID:iIYyf/rd
せいぜいbashのサブコマンドで、forkしとらん気がする
ただマルチスレッドは使ってるかも知れんし、その際のメモリ操作はなんか性能の問題があった気はする
0725デフォルトの名無しさん
垢版 |
2020/05/04(月) 18:39:29.61ID:EvcVp/Zr
$(())内でiを更新できることから分かるようにforkしていないし、少なくともbashとdashはシングルスレッド

linux上で
ltrace -f bash -c 'for i in {1..1000000}; do :; done'
したら、mallocを何度も呼んでいるようだから、ヒープ操作関係が遅い可能性はある
実際、linux上でもmallocの実装をglibcのからjemallocに切り替えたら上のループが2割近く速くなった
0727デフォルトの名無しさん
垢版 |
2020/05/06(水) 19:33:37.07ID:DK8FW5YB
以下のパッケージ、入れようとすると対象が見つからないと出るんだけど・・・

dlfcn
libpng
tools-git
jq
clang
0729デフォルトの名無しさん
垢版 |
2020/05/06(水) 22:45:14.75ID:UqyV1t7H
>>727
ないんだろ?Cygwinは独自のディストリ
Windowsに移植できたもの、自分が関心があるパッケージしか
登録されていない
0730デフォルトの名無しさん
垢版 |
2020/05/11(月) 23:46:54.34ID:77t5bXxM
GCC 10.1まだですか
0735デフォルトの名無しさん
垢版 |
2020/05/14(木) 10:05:25.88ID:tvxDWcUo
きばれ
tdm-gcc (64)
0738デフォルトの名無しさん
垢版 |
2020/05/22(金) 14:26:50.74ID:DztlkuPK
msys2をサイレントインストールするにはどうしたら良いですか?
0741デフォルトの名無しさん
垢版 |
2020/05/29(金) 02:44:46.36ID:o1TI0Bdi
そろそろ更新してくれ
0742デフォルトの名無しさん
垢版 |
2020/06/23(火) 03:13:01.66ID:1wsAa41I
新版まだですか〜
0747デフォルトの名無しさん
垢版 |
2020/06/23(火) 12:40:28.65ID:AJ4z3x9t
mingwは「Git For Windows」のバンドルモジュールとしてしぶとく生き残る。
cygwinはdll依存をなくしてmingwに統合されていくでしょ。
0749デフォルトの名無しさん
垢版 |
2020/06/23(火) 13:44:06.97ID:oj2a+YQY
gcc -staticがデフォじゃないのがよくわからん
じゃあMinGWの立ち位置って何よって
0754◆QZaw55cn4c
垢版 |
2020/06/23(火) 18:42:37.39ID:sbDHiXI+
MSVC に依存したくないので、mingw をお手軽に維持できる cygwin 環境はありがたいですね…
0755蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/23(火) 18:50:53.69ID:5yVlyLrR
WineHQとかRosBEとかはLinuxでも使えるクロスコンパイラを用意している。まあ、やる人は少ないが。
0757蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/23(火) 19:25:00.34ID:5yVlyLrR
XPでも動くプログラムが作れるってのが味噌。MSYS2はVista+に移行した。
0759デフォルトの名無しさん
垢版 |
2020/06/23(火) 22:14:53.82ID:MHuIwrXa
移行したと言うか、互換性の点でbashの方が良かったが
bashのライセンスがGPL3に変わって受け入れられなかったから
仕方なくzshにしたってだけだろ
古いbash 3系よりは、zshの方がまだましという消極的な理由
0760デフォルトの名無しさん
垢版 |
2020/06/24(水) 11:23:52.65ID:6+kkBVmV
>>752
>>754
tdmgcc で cygwin から解放されました
ほんとうにありがとうございました
0761デフォルトの名無しさん
垢版 |
2020/07/23(木) 17:26:38.39ID:VHveRWmf
更新まだですか
0762デフォルトの名無しさん
垢版 |
2020/07/25(土) 17:28:58.82ID:zqROUOzo
tdmgcc は wikipedia では開発が止まった事になってるな。
0763デフォルトの名無しさん
垢版 |
2020/07/25(土) 19:44:16.83ID:e/b0FSz8
フェラチオザウルスにパクってされちゃうよ
0765デフォルトの名無しさん
垢版 |
2020/08/02(日) 17:49:35.08ID:5nHbYcRj
GCC10.2が出ましたが更新まだですか
0769デフォルトの名無しさん
垢版 |
2020/09/06(日) 05:21:00.21ID:6+AOMFkl
どこ。
0772デフォルトの名無しさん
垢版 |
2020/09/12(土) 15:31:34.91ID:cDX1Q2rT
どこもろ
0773デフォルトの名無しさん
垢版 |
2020/09/13(日) 02:49:17.38ID:H5kZw8iZ
どこやねん
0783デフォルトの名無しさん
垢版 |
2020/09/24(木) 04:03:25.38ID:Qc2kqk0D
隅から隅まで探さないといけないやつを検索すらできないのかっていうのはなんか違わない?????
僕そもそもなぜかCygwinの話だと思ってたからそれ以前の問題なんですけど
0784デフォルトの名無しさん
垢版 |
2020/09/24(木) 08:19:03.36ID:hsn7nUMR
こまけーことは気にせずにmsys2使っときゃええんやで
cygwinはなあ…gccの更新いつも遅いから
0786デフォルトの名無しさん
垢版 |
2020/09/25(金) 05:05:33.50ID:xdrtZXMH
Git for Windows にバンドルされてるbash使えばいい。
ビルド環境はStrawberry Perlにバンドルされてるのを使えばいい。
0787デフォルトの名無しさん
垢版 |
2020/09/25(金) 10:53:31.32ID:4ovx1Tzj
git bash まじ重宝
0791デフォルトの名無しさん
垢版 |
2020/09/27(日) 17:39:43.97ID:RCK09O0u
ライブラリをストリップしたらあかんのではないかな
gccのオプションにexceptionのなんかがあった気がする
0794デフォルトの名無しさん
垢版 |
2020/09/28(月) 17:33:38.94ID:QxfbhGyV
Visual Studioに入ってるdumpbinに相当するコマンドある?
DLLのエクスポートテーブルを覗きたいんだけど
0795デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:01:48.48ID:zjrobJ8x
digitalmars_com /ctg/implib.html
wiki_dlang_org /Win32_DLLs_in_D
www_kmonos_net /alang/d/dll.html
0797デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:44:08.37ID:UdyDW7b6
オーイ
0800デフォルトの名無しさん
垢版 |
2020/11/09(月) 21:03:17.57ID:IuElySO5
fork: retry: resource temporarily unavailable とかでて直せない。
rebaseallとかやっても効果ないみたいだし
もうcygwin、msysのテストやめようかな
0801デフォルトの名無しさん
垢版 |
2020/11/10(火) 12:08:26.08ID:08CevRpc
おそらく D よりも需要無い
0803デフォルトの名無しさん
垢版 |
2020/12/15(火) 15:11:54.58ID:XwGFb1c9
MSYS2には、lscpuコマンドはないのかな?
CentOSなんかだとutil-linuxパッケージに入ってるけど、MSYS2のには入ってないもよう。。。
0806デフォルトの名無しさん
垢版 |
2020/12/15(火) 17:22:03.48ID:ME0vqtfe
MinGWって終わってるよな
0811デフォルトの名無しさん
垢版 |
2020/12/23(水) 09:37:51.13ID:vcwRrO0n
コロナもどんどん変異種がでてきとるしな
もう人類は無理だろ
さよなら人類
0812デフォルトの名無しさん
垢版 |
2021/01/17(日) 17:25:02.12ID:/QJK4AMk
マジで終わりそうでコロナ怖い
レスを投稿する


ニューススポーツなんでも実況