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

686: デフォルトの名無しさん [sage] 2020/04/28(火) 17:09:56.15 ID:7TaGv6sC(1/4) AAS
>>684
684(1): デフォルトの名無しさん [sage] 2020/04/28(火) 10:33:28.83 ID:gG+m5xpc(1) AAS
MSYS2とWSLって共存出来るんですか?
共存できる。msys2はただのアプリでしかないから

>>685
685(1): デフォルトの名無しさん [] 2020/04/28(火) 10:52:09.80 ID:zAZN/f3s(1) AAS
マジレスするとmsys使ってて問題無ければwsl要らない
msysの問題はUbuntuと同じようなメンテナンス力を期待できないところかな
WSLは本物のUbuntuのディストリのパッケージが使われてるので
Ubuntuとほぼ同等にメンテナンスされてると思っていい

だけどmsysは(Ubuntuと比べたら小さな)開発者が対応してるパッケージしか使えない
しかもLinuxと完全互換じゃないからmsysでソースコードからコンパイルしようとしても
動くとは限らない。WSLを使えばそういった煩わしさから開放される。

msysはWSLを入れてない人のためのWindows用アプリを作るためのものだよ
開発者がLinuxの代わりとして使うものじゃない
687
(1): デフォルトの名無しさん [sage] 2020/04/28(火) 17:14:36.86 ID:qC7CqvMj(1) AAS
ホームパスを一緒にすると色々弊害出そう
688: デフォルトの名無しさん [sage] 2020/04/28(火) 17:30:05.30 ID:7TaGv6sC(2/4) AAS
>>687
シンボリックリンクでホームディレクトリ以下から
アクセスしやすくするのがおすすめ
色々と混ざらないし複数のディストリでも共有できる
689
(1): デフォルトの名無しさん [sage] 2020/04/28(火) 18:17:52.10 ID:eCWBo+Hl(1) AAS
色々と混ぜたいからホームディレクトリを一緒にするんだろ
そうじゃなければ最初から分けとけばいいだけの話だ
690: デフォルトの名無しさん [sage] 2020/04/28(火) 18:20:54.27 ID:7TaGv6sC(3/4) AAS
>>689
「色々」と混ぜたいならその「色々」だめを混ぜればいいじゃん
全部混ぜる必要はない
691: デフォルトの名無しさん [sage] 2020/04/28(火) 18:21:10.90 ID:7TaGv6sC(4/4) AAS
「色々」と混ぜたいならその「色々」だけを混ぜればいいじゃん
692: デフォルトの名無しさん [] 2020/04/29(水) 09:35:11.34 ID:TuLha3Ht(1) AAS
混ぜるな危険
693: デフォルトの名無しさん [sage] 2020/04/29(水) 09:46:08.06 AAS
Microsoft Store に WSL Ubuntu 20.04 LTS 出てるけど、まだ入れない方がいいんですか
694: デフォルトの名無しさん [sage] 2020/04/29(水) 10:27:50.31 ID:Cpi+Il5+(1/2) AAS
早くても、8月以降に、20.04.1 とか修正版が出た後。
1年後でも良い

Ruby のirb では、MSYS2/MinGW で、日本語入力でバグるから、
WSL の方が、互換性が高い

日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv で、
色々なバージョンも入れられる

VSCode も、Remote WSL 拡張機能で、Linux 側へアクセスできる
695: デフォルトの名無しさん [sage] 2020/04/29(水) 10:38:59.10 ID:Cpi+Il5+(2/2) AAS
>>679
679(2): デフォルトの名無しさん [sage] 2020/04/27(月) 19:44:31.43 AAS
Windowsのコマンドプロンプト側からWSLのディレクトリに入っていけるの?
コマンドプロンプト・PowerShell で、wsl と入力すれば、WSLが起動する

最も良いのは、Linux 側のフォルダのショートカットをデスクトップにでも作って、
そのフォルダの右クリックメニューから、VSCode を起動する

これで、WSLを起動して、Linux側のプロジェクトを開ける
696: デフォルトの名無しさん [sage] 2020/04/29(水) 11:51:03.18 ID:Jemg3aCN(1) AAS
wsl, opensuse leapにmingw64入れてクロスビルドしてる。
configure作って--hostでmingw指定すれば楽勝すぎて屁が出そう
697: デフォルトの名無しさん [sage] 2020/04/29(水) 11:51:38.68 AAS
自分が使っているWSLが1なのか2なのか知る方法は?
698: デフォルトの名無しさん [sage] 2020/04/30(木) 13:35:41.83 ID:HbyVq09Q(1) AAS
openSUSE Leap 15.1用のmingw配布消えとるやん
くそがー
699: デフォルトの名無しさん [sage] 2020/04/30(木) 17:32:57.91 AAS
そもそもWSL2はエンスー向けか
普通の人は1が入ってるのか
700: デフォルトの名無しさん [] 2020/05/02(土) 23:21:47.63 ID:nkPqW+JC(1) AAS
MinGWっていうかGitBash環境なんだけど
WSL1より2倍ぐらいシェルスクリプトが遅いんだよね
どこが原因かわからんけどこんなもん?
なにか大きな差がでるポイントでもあるんかね?
701: デフォルトの名無しさん [sage] 2020/05/03(日) 03:37:53.54 ID:HUz+EFHq(1/8) AAS
WSL1 (bash 4.4.20) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m6.317s
user 0m6.313s
sys 0m0.000s

MinGW64 (bash 4.4.23) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m15.053s
user 0m15.000s
sys 0m0.030s

Cygwin (bash 4.4.12) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m13.897s
user 0m13.858s
sys 0m0.046s

うーん、こんな単純なコードで2倍の差がでてるから
もうこれはどうしようもないのか?
702: デフォルトの名無しさん [sage] 2020/05/03(日) 04:04:18.44 ID:HUz+EFHq(2/8) AAS
比較とか計算が遅いのかと思ってやってみたけど
この比率は変わらない

WSL1
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m2.159s
user 0m1.828s
sys 0m0.359s

Cygwin
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m4.222s
user 0m3.889s
sys 0m0.341s

MinGW64
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m4.821s
user 0m4.342s
sys 0m0.436s

WSL1 → Cygwin(2倍ぐらい遅い)→MinGW(さらに10%遅い)
こんな傾向がある。ファイルシステムは関係ないはず
やってるのはCPUの処理だけなはずなんだけどなぁ
703
(1): デフォルトの名無しさん [sage] 2020/05/03(日) 05:18:19.65 ID:1PSoskYy(1/2) AAS
調べるとradeonのドライバを切れとか書いてあるけど…
704: デフォルトの名無しさん [sage] 2020/05/03(日) 05:22:33.02 ID:HUz+EFHq(3/8) AAS
>>703
使ってないよw
705: デフォルトの名無しさん [sage] 2020/05/03(日) 05:24:47.68 ID:HUz+EFHq(4/8) AAS
radeonの話は画面に出力が絡むなら
関係ありそうな気もするけど、それ以外でも発生するんだろうかね
あとHOMEは MinGWは /c/Users/myname
Cygwinは/home/mynameだ
706: デフォルトの名無しさん [sage] 2020/05/03(日) 05:26:40.40 ID:HUz+EFHq(5/8) AAS
よく見ると大きな差があるのはuser空間だから
コンパイルオプションが違ってるとかなのかな?
707
(1): デフォルトの名無しさん [sage] 2020/05/03(日) 05:38:01.14 ID:1PSoskYy(2/2) AAS
seq使うんじゃなくて{1..1000000}の方がいいかもね
708
(1): デフォルトの名無しさん [sage] 2020/05/03(日) 06:00:40.65 ID:HUz+EFHq(6/8) AAS
>>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でも使ってるんじゃなかったっけ?
709
(1): デフォルトの名無しさん [sage] 2020/05/03(日) 07:25:18.35 ID:69WKUEPM(1) AAS
>>708
を、WSL1, Ubuntu 18.04 で、3回やった。
8GB メモリ、CPU-i3・エコモード

real 0m4.680s
user 0m4.234s
sys 0m0.453s
710: デフォルトの名無しさん [sage] 2020/05/03(日) 07:38:38.22 ID:HUz+EFHq(7/8) AAS
>>709
いや比較しないと意味ないだろw
1-
あと 278 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s