[過去ログ] 【Bash】Windows Subsystem for Linux【WSL】3 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
654
(1): 2018/07/11(水)09:08 ID:/OrjHkhR(1) AAS
>>652
WSLは基本的にユーザー権限の中で動くので
WSLの中でsudoをやった所で、WSLの世界でのrootにはなってるけど
Windowsの世界の管理者になるわけじゃないよ

おそらくエミュレートしてるLinuxのシステムコールの何かが
Windows上での管理者権限を必要としてるとかではないだろうか?
655: 2018/07/11(水)13:31 ID:r/XTS8dC(1) AAS
mattnさんのツイート:
WSL の docker 遅いなぁ。nginx 動かして
$ ab -k -c 10 -n 1000 外部リンク:127.0.0.1:8080
してみたら 1300 req/sec しか出ないや。まぁ動くだけマシだけど。
Twitterリンク:mattn_jp
3:05 - 2018年7月9日

mattnさんのツイート:
昨日試した限りだと WSL に入れた Ubuntu 18 だと docker 動かなかった。
Twitterリンク:mattn_jp
8:18 - 2018年7月10日
656: 2018/07/11(水)13:41 ID:NthoMBHj(1) AAS
>>654
ネットワーク、ソケットがらみかねえ・・・
657: 2018/07/12(木)06:33 ID:IePYKLH1(1/2) AAS
別のバージョンのUbuntuでdockerの動作を確認するときは、一度OSを再起動する必要
があるようだ。例えば、Ubuntu-16.04で一度dockerデーモンを動かすと、OSの再起動
をなしではUbuntu-18.04でdockerデーモンが動かない。dockerデーモンをstopしても
同様だった。また、OS再起動直後にUbuntu-18.04でdockerデーモンを起動すると動くが、
invalid argumentが出て動作はしない。(デーモンとの通信エラーにはならない。)
調べているけど、原因分からず。同様のエラーの報告はちらほら見受けられる。
658: 2018/07/12(木)08:04 ID:2fRy1rm8(1/3) AAS
まだ完璧じゃない部分があるんでしょうね。
だけど、dockerが普通に動くのぞみは出てきたね。

Linuxカーネルの多くをエミュレートしないと無理そうだと思っていたから
難しいんだろうなと思ってたけど、大きな山はなさそうだ
659
(3): 2018/07/12(木)18:09 ID:jVPpwGnv(1) AAS
WSL自体を再起動する方法ってあるの? あれってサービス?sudo rebootしたい
660
(1): 2018/07/12(木)20:23 ID:2fRy1rm8(2/3) AAS
>>659
Linuxバイナリを動かすことができるコマンドプロンプト
だから再起動なんて無いよ
661: 電波いつぱい 2018/07/12(木)20:31 ID:/SnuHNB+(1/3) AAS
>>659
wslは起動していないので、再起動できません
662
(1): 電波いつぱい 2018/07/12(木)20:32 ID:/SnuHNB+(2/3) AAS
>>660
コマンドプロンプトでもありません
663
(1): 2018/07/12(木)20:44 ID:IePYKLH1(2/2) AAS
でも最近のwslはコンソール閉じてもプロセス生きてるよね
664: 2018/07/12(木)20:48 ID:2fRy1rm8(3/3) AAS
>>662
コマンドプロンプトなんていってないよ
665: 電波いつぱい 2018/07/12(木)20:53 ID:/SnuHNB+(3/3) AAS
>>663
initが残るようになったからのはず
そのinitも結局はwindiwsのプロセス
666
(1): 2018/07/12(木)21:19 ID:JDLu8GFf(1/2) AAS
WSLはWindowsの中の機能の一つ、という立ち位置。
WSLの窓を開かなくてもLinuxのサービスを走らせることはできるよ。
もちろんコマンドプロンプトからも実行できるし、タスクマネージャーなんかにも登録できる。
完全に位置機能として扱える。
667: 666 2018/07/12(木)21:20 ID:JDLu8GFf(2/2) AAS
すまん誤字った。一機能とかきたかった。
668: 2018/07/12(木)21:37 ID:Z4ioFT6G(1) AAS
X410 を購入 - Microsoft Store ja-JP
外部リンク:www.microsoft.com
> 4,650 → 580 (税込) ( 4,070 値引き あと 18 日です)

Windows StoreをWSLで検索して見つけた。良さそうだけど どう思う?
669: 2018/07/13(金)01:31 ID:IQiuKcDb(1/2) AAS
Windows側のIMEで透過的に日本語入力とかは期待できそうに無いな
対応言語や法人名を見るに、韓国製か
中国語に対応していないのが少々意外な
670: 2018/07/13(金)07:34 ID:fxkbqnVH(1) AAS
dockerでexecは動かないのかな。attachは動くけど。カーネルの機能が足りないのかな。
$ keyctl session
keyctl_join_session_keyring: Function not implemented
671: 2018/07/13(金)08:43 ID:NcxNxqNY(1) AAS
遅いのは何とかしてほしい
デュアルブートしたくなる
ほんま遅い
672: 2018/07/13(金)09:55 ID:aivwkH4H(1/12) AAS
普通にDocker for Windows使えばいいだけ
673
(1): 2018/07/13(金)10:39 ID:2me+gHsO(1/2) AAS
Homeだし
674
(2): 2018/07/13(金)10:45 ID:gZOhQVeS(1/2) AAS
Docker for WindowsはHyper-V使ってるから、WSLのDockerとは共存できない模様。

じょいさんのツイート:
WSLでDocker動かない各位、Hyper-Vの機能OFFにすると動きますよ
Twitterリンク:joy1192
12:09 - 2018年7月10日
675: 2018/07/13(金)11:02 ID:2me+gHsO(2/2) AAS
>>674
でもexec動かない。オレだけ?
676
(1): 2018/07/13(金)11:10 ID:aivwkH4H(2/12) AAS
>>673
じゃあDocker Toolboxを使えばいいだけの話では?
677: 2018/07/13(金)11:12 ID:aivwkH4H(3/12) AAS
>>674
> Docker for WindowsはHyper-V使ってるから、WSLのDockerとは共存できない模様。

その理屈はおかしい。
WSLのDockerがHyper-Vなんか使うわけがない
Dockerはハードウェアの仮想化をしてないんだから
678: 2018/07/13(金)11:15 ID:aivwkH4H(4/12) AAS
Docker for WindowsもWSLのDockerも
同じWindows上で動くDockerだからポート番号でもかぶってるんだろ

Hyper-Vをオフにすることで、Hyper-Vが必要なDocker for Windowsが
停止したってのが真実だろうな。つまりHyper-Vをオンのままでも
Docker for Windowsを停止すればWSLのDockerは動くだろう
679
(1): 2018/07/13(金)12:07 ID:CoepbybF(1) AAS
>>676
そうだね。Vagrantを使う方法もある。けど、WSLだけで動かしてみたい。
お手軽だし。
680
(2): 2018/07/13(金)12:51 ID:AW0IlF5h(1) AAS
関係ないけどhyperVは他の仮想化と共存できないのがウザいよな
681: 2018/07/13(金)12:59 ID:aivwkH4H(5/12) AAS
>>679
Docker ToolboxはVagrantじゃないぞ。VirtualBoxを使う
Docker ToolboxならDocker for Windowsとそう変わらないはずだけど

>>680
Vagrantがね。HyperVでもvagrantは使えるけど
VirtualBoxと組み合わせてたからなぁ

VagrantとVirtualBoxのVBoxManage.exeを組み合わせた
個人的用のスクリプト書いてたんでちょっと困った
今はWSLできたんでVagrantの必要性は減ったんだけど
682: 2018/07/13(金)13:10 ID:aIrnLFzn(1) AAS
>>680
MS「対応しろや」
外部リンク:docs.microsoft.com
683: 2018/07/13(金)13:18 ID:aivwkH4H(6/12) AAS
HyperVって本当にハイパーバイザ型なんだよね?
OSの下にハイパーバイザがいるんだよね?

昔Xenで特殊なドライバが必要だったりとか
えらく苦労したんだがWindowsのHyperVは
ハイパーバイザを使ってる感じが全くしなくて不思議だ
684: 2018/07/13(金)14:23 ID:IQiuKcDb(2/2) AAS
Hyper-Vも専用ドライバが必要だけど、
Windowsは自前で持っているし、Linuxも随分前から対応しているので。
Hyper-V用のドライバのソース提供をMicrosoftの侵略!!とか言って騒いでたし
685: 2018/07/13(金)14:59 ID:aivwkH4H(7/12) AAS
GPUドライバもXen用が必要だった記憶があるんだが
Xen用カーネルはまあLinuxだし仕方ないけど
686: 2018/07/13(金)16:23 ID:xyz9NJ8g(1/5) AAS
そもそも「WSLでdockerが動くらしい!やってみよう!」が趣旨だろうから違うツール使えってのはナンセンスだろう。
WSLっておもちゃで遊んでるだけなんだから。
687: 2018/07/13(金)16:41 ID:aivwkH4H(8/12) AAS
動くだけで満足するなら遅くても問題ないでしょ?

俺は技術的な大きな問題は解決したからあとはWSL全体を含めたチューニングだけ。
WSL使うのが開発の主流になるのは時間の問題だなって考えてるよ

今すぐ実用的に使いたいならDocker for WindowsかDocker Toolboxを使う
あとはMS頑張って!って思ってるよ
688
(1): 2018/07/13(金)16:51 ID:xyz9NJ8g(2/5) AAS
俺もWSLの完成度が上がっていくと嬉しいけど、仕組み上dockerよりもいい物があるとは思うけどね、並行して2この環境を持てるとか。
WSLは今までと仕組みが違うから逆にWSLだからできることが見つかりそうな気がする。

ネイティブAPIとwindowsAPIの区別は完全じゃないから機能的に難しいものは絶対にあるよ。
689: 2018/07/13(金)19:06 ID:H98nbIX6(1) AAS
pythonとかnodeが満足に動くだけでいいと思うんだけどなあ
690: 2018/07/13(金)19:20 ID:ioTXYsjC(1/2) AAS
Cygwin以上coLinux未満
691
(1): 2018/07/13(金)19:31 ID:aivwkH4H(9/12) AAS
>>688
並行して2個の環境を持つのは仮想マシンでできるじゃない
WSLだからできることっていうのは、Windows上でLinuxアプリを動かせることだよ
一つのOSでできることっていうのが大きな違い
692
(1): 2018/07/13(金)19:43 ID:xyz9NJ8g(3/5) AAS
>>691
そんなことはわかってる。WSLでdockerって発想はナンセンスだからWSLでディストリを複数持つとかでいいってこと。
WSLでできることはWindows上の仮想マシンでぜんぶできる。そんなことはみんながわかってるよ。
693
(1): 2018/07/13(金)21:00 ID:aivwkH4H(10/12) AAS
>>692
> WSLでdockerって発想はナンセンスだから

別にナンセンスだと思わないけど?
むしろWSLはWindowsに追加したLinux互換システムコールなわけで
Windowsそのものが持ってる機能の一つ。

WSL=Linux互換システムコール=Windowsの機能を呼び出すdockerは、
Windows用アプリとしてネイティブに動いてる状態なんだけど
694: 2018/07/13(金)21:29 ID:ioTXYsjC(2/2) AAS
WSLでCore OSが動けば、Docker専用にすることも可能性としてはあるな。
695: 2018/07/13(金)21:35 ID:gZOhQVeS(2/2) AAS
今のWSLにはDockerを動かすに足るような信頼性はないんだよ。本物のLinuxとの互換性が低すぎて、入手したコンテナが正常に動いている保証が全然ない。それはnpmやpipやRubyGemsでも同じだ。

現代の開発では、企業製のソフトやディストロの公式パッケージだけを利用する時代は終わって、npmやpipやRubyGemsといった無数の作り手による無数のパッケージが必要とされるようになった。
WindowsにはCygwinがあるがLinuxとの互換性が低く、これらの作り手はCygwinを動作保証の対象にするのを嫌がり、Cygwinはどんどん没落していっている。
そこでMSはnpmなどを動かすプラットフォームとしてWSLを出したわけだが、現状はどう考えてもベータ水準以下で、よくMSはこれを正式版扱いにしたもんだと呆れる。

まあ将来はまともなプラットフォームになりうるかも知れんが、現状はただのおもちゃだ。ディストロの公式パッケージが豊富に存在しているCygwinの方がまだ実用性がある。
696: 2018/07/13(金)21:39 ID:hHSI3qlV(1) AAS
cygwinは見捨てた
697: 2018/07/13(金)22:07 ID:xyz9NJ8g(4/5) AAS
>>693
>linux互換システムコール
新しい言葉作んな。互換レイヤーだ。
WSLはWindowsが持ってるネイティブAPI以上のことはできないからlinuxの代わりになることは原理的に無理。
dockerはOSの基盤になるようなシステムコールを使うからWindowsサブシステムと共存できない。

だから管理者権限が必要であったりするんだ。

WSLに他の新しい仕組みを付け足せばできるかもしれんが、夢を見すぎだ。
698: 2018/07/13(金)22:09 ID:xyz9NJ8g(5/5) AAS
そもそもWSLでdockerが動くなら互換レイヤーの上でlinuxが動くんだからWSLをlinuxコンテナ化すればいい。
699: 2018/07/13(金)22:10 ID:aivwkH4H(11/12) AAS
互換性についてはCreators Update時点でのデータはあるな。1804のデータって何処かになりんだろうか?
外部リンク:blogs.msdn.microsoft.com

System Calls

Passing 744
Failing 93
Unimplemented 171
Skipped 102
Total 1110
Pass % (not including unimplemented) 88.88%
Pass % (including unimplemented) 73.81%

Filesystem

Of the failing filesystem tests the majority are due to missing support for the rt_sigqueueinfo system call.

Passing 52
Failing 9
Total 61
Pass % 85.24%
700: 2018/07/13(金)22:18 ID:aivwkH4H(12/12) AAS
やり方ここに書いてあった
外部リンク:qiita.com
701: 2018/07/13(金)23:09 ID:HFpqGDg9(1) AAS
>>659
17704以降ならwslconfig /terminate
702: 2018/07/14(土)13:30 ID:sMjmL5Dr(1) AAS
linuxがそのまま動くversionboxやvmでもういいや
703: 2018/07/14(土)15:00 ID:yYq/6rsU(1) AAS
VersionBoxってこれか?ちょっと古いしLinux関係ないな
外部リンク[html]:download.cnet.com
704: 2018/07/14(土)15:23 ID:BxdB/Mtf(1/2) AAS
VirtualBoxの間違いじゃね?
705: 2018/07/14(土)15:24 ID:jYX0bnDW(1) AAS
変換ミス
バーチャルボックスね
ってかversionboxってあったんだな
706: 2018/07/14(土)15:26 ID:c9qSNBNz(1/2) AAS
WSLは面白いおもちゃだけどな。
707: 2018/07/14(土)15:34 ID:BxdB/Mtf(2/2) AAS
いやいや、半角入力で変換ミスはないだろw
暑さでやられてる?
708: 2018/07/14(土)15:37 ID:RnGFBuXQ(1) AAS
予測変換だろ
709: 2018/07/14(土)15:40 ID:c9qSNBNz(2/2) AAS
ミスぐらい自由にミスらせてあげればいいのに。ミスなんだし。
710: 2018/07/14(土)16:51 ID:TCq6UvUj(1) AAS
ミスをみすみす見過ごしてたまるか
711: 2018/07/15(日)17:05 ID:J+GYrykC(1) AAS
Dockerは甘え。
712
(1): 2018/07/15(日)20:45 ID:cVFwN6y4(1) AAS
WSL自体がコンテナみたいなものなのにさらにその中にコンテナを作るのか
713
(1): 2018/07/15(日)22:03 ID:Xmkkcspf(1) AAS
>>712
システムコンテナとアプリケーションコンテナという考え方がある
システムコンテナはコンテナ技術を用いてシステムを作るもの

システムコンテナは仮想マシンに近くOSに相当するシステムを作り出し
作業者はこのシステム上にログインして作業する。
WSL(正確に言えばbashでログインした状態)はこれに近い

それに対してDockerはアプリケーションコンテナ
アプリケーション実行に必要な外部ライブラリをパッケージング
しただけで、アプリケーションをそのまま実行するのと意味的には等しい
作業者はデバッグのためにDockerコンテナに入ることはあるが
通常はDockerコンテナの上で作業したりはしない
714: 2018/07/16(月)04:17 ID:QJ3BqZnT(1) AAS
実際dockerで配布されてるアプリケーションもあるしな。
でもWSLで動かないものがWSLのdockerで動くわけじゃないし、通常はWSLにアプリケーションをインストールすればいいと思うよ。
715: 2018/07/16(月)08:33 ID:bY3uc4Dp(1) AAS
そもそもどっかーってなんなの?
716
(1): 2018/07/18(水)13:47 ID:WJKzLDcr(1) AAS
>>713
wslのシステムコンテナの本体はどこにあるの?
717
(1): 2018/07/18(水)15:27 ID:f5a7aJQo(1) AAS
>>716
コンテナはプロセスだよ。隔離された空間にあるだけのプロセス
だから本体は実行時にメモリに現れ終了したらなくなる

コンテナを作るためのUbuntuのイメージファイルって話なら
C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
とかみたいだけど、これはWSLじゃなくて、Ubuntuのイメージファイルか

WSL(Windows Subsystem for Linux)自体はサブシステムであってコンテナじゃない。
サブシステムを提供するためのファイルはC:\Windows以下の何処かにあるだろうけど、
やっぱりWSLで作られるLinux環境はプロセスとしか言いようがないな
718
(1): 2018/07/18(水)17:21 ID:VM28jLfU(1) AAS
>>717
ってかドッカーやらのコンテナって仮想マシンとは違うとかよくいわれるけど
windowsとmacで動いてるやつは裏で仮想マシンまわってるだけだろ?
719: 2018/07/18(水)17:31 ID:K/dNx6ZZ(1) AAS
>>718
DockerはLinuxカーネルで動くものです。
WindowsとMacのことは一旦忘れましょう。

Dockerは仮想マシンではありません。
実際に仮想マシンは使いません
720
(1): 2018/07/19(木)17:21 ID:ORiQslyH(1) AAS
画像リンク[jpg]:i.imgur.com
721: 2018/07/19(木)17:33 ID:kIzbGk9L(1) AAS
>>720
グロ
死体画像

うpってんじゃねーぞゴミカス!
722: 2018/07/19(木)18:15 ID:RS/LaMpX(1) AAS
画像リンク[jpg]:i.imgur.com
723: 2018/07/20(金)18:40 ID:oCckfN1r(1/2) AAS
WSLはサーバーサイドアプリをインストールして使えるのが最大の強みだと思うわ。
もちろんlocalhostでだけど。
Windows立ち上げてるときだけ使えるサーバー環境。
gitbucket、ampache、cloud9、等々
724
(1): 2018/07/20(金)20:12 ID:3LYThzwC(1) AAS
サーバー環境作るならdocker でない?
WSLはフロントエンド環境。
725: 2018/07/20(金)20:16 ID:oCckfN1r(2/2) AAS
>>724
開発するならdockerがいい。サーバーアプリをただつかうだけならWSLで十分、常駐させても問題ないレベル。
726: 2018/07/21(土)23:27 ID:pYaMi2gs(1) AAS
画像リンク[jpeg]:img.depor.com
727: 2018/08/19(日)12:54 ID:2J+jXxYQ(1) AAS
I/O周りが遅すぎて開発に使うのやめてプレゼン用に使ってたけど、
先日npm installでセットアップ中にカレントディレクトリ以下のファイルの
90%ほどをぶっ壊してくれて、上位にあった~/.zsh_historyの一部まで
バイナリで書き込まれる惨事
dockerへ出戻り
728: 2018/08/21(火)20:58 ID:7rk13qft(1) AAS
ふーん
729: 2018/08/22(水)18:23 ID:/9jrih0N(1) AAS
Dockerを開発環境に使ってるの?
あれ開発環境にはいまいちじゃない?
パッケージングにはいいと思うけど
730
(1): 2018/08/22(水)19:00 ID:38GpJQxX(1) AAS
IDEとかの開発環境をまとめたdockerなら全然あるし、使える。
731: 2018/08/22(水)23:55 ID:g4Zbw/6/(1) AAS
例の戌厨様、こっちまで荒らしにきたんけ?
732
(1): 2018/08/23(木)12:37 ID:pqGEB485(1/3) AAS
>>730
IDEでDocker使うんか?
Vagrantみたいに?
733: 2018/08/23(木)12:48 ID:V7790Jnk(1) AAS
やったことないけどCloud9をWSLで使うこともできるらしい。
Dockerでやったほうがいいけど。
734
(2): 2018/08/23(木)12:53 ID:1/4tnYjl(1/2) AAS
>>732
横からだけど、例えばWeb開発なら開発からテスト配布まで、dockerでできる。cloud9とかを入れておいて、ブラウザから開発する。
735
(1): 2018/08/23(木)21:39 ID:pqGEB485(2/3) AAS
>>734
Cloud9をサービスとして起動できるDockerを使ってローカルで開発と言うこと?
最近はそんな感じなのか
Cloud9使ったことないけど便利なのかなぁ
その組み合わせの利便性によってはDockerを見る目がまた変わるわ
736: 2018/08/23(木)21:49 ID:pqGEB485(3/3) AAS
仮想化も組み合わせによって色々面白いことできるねぇ
ブラウザから使えるideかぁ
ちょっと興味出てきた
737: 2018/08/23(木)21:56 ID:DbM4JrKg(1) AAS
わざわざローカルにcloud9入れて使ってるやついるのか?
名前の通りクラウドで使うためのものやろあれ
738: 2018/08/23(木)22:12 ID:1/4tnYjl(2/2) AAS
俺WSLにcloud9入れて使ってるけど、単純にsshクライアントもいらなくなるし、Windowsのubuntu窓使わずに済むし幸せ。
739
(1): 734 2018/08/25(土)09:27 ID:NtT1KaV9(1/2) AAS
>>735
遅レスだけど、gitとweb環境とcloud9入りのdockerで開発するってこと。
別にエディタはcloud9じゃなくてもいいけど、1つの窓でエラーログ見るコマンドも打てるし便利でしょ。
特に少数複数人で開発する時にPCが違ってもgitリポジトリを紐づけたdockerファイルを共有して、ブランチをpullすれば開発環境が整う。キモはcloud9じゃなくてgitなんだけど、cloud9ならブラウザ動けばみんな同じコーディングができるので。
基本的にローカルは汚さずに、万一dockerが壊れてもgit最新に戻せる。
開発からテスト、dockerファイルをいじって、配布まで、できる。
むしろ現場でdockerが流行るのはこのおかげ。
データベースも小さいのならgitに入れちゃえ。
740: 2018/08/25(土)09:34 ID:NtT1KaV9(2/2) AAS
WSLにcloud9入れるのはマシンスペックが足りないPC向け。
dockerをWindowsで動かすには結局仮想化するので、スペックを分けなきゃいけない。これができないからWSLが不完全でも使う層が出てくる。docker動かせるならそっちのほうがいい。
741: 2018/08/25(土)19:08 ID:Ei+FlypL(1) AAS
そもそも画面がない時点で不完全
742: 2018/08/25(土)19:37 ID:Xs5ovEQe(1) AAS
リモートで鯖管理したって同じだろw
743: 2018/08/26(日)07:41 ID:rhFeG7bT(1) AAS
環境を汚してもいい鯖持ってるならWSLもdockerもなくていい。
dockerはあってもいい。
744: 2018/08/26(日)11:31 ID:0Bg1/nQr(1) AAS
>>739
ふーん。
便利そうだね。
745: 2018/09/08(土)10:42 ID:etmCdk87(1) AAS
Using WSL in an Enterprise
外部リンク:blogs.msdn.microsoft.com
746: 2018/09/11(火)01:42 ID:s6D8tDed(1/5) AAS
WSL、forkの速度あがらないかなー

OSの基本部分に関わるところだから、
forkの機能を備えてないNTカーネルでは
エミュレートに時間がかかるんだろうけど

それでも10倍はひどすぎる。
おかげでforkさせないシェルスクリプトの
プログラミングノウハウが溜まっていくwww
747
(2): 2018/09/11(火)12:28 ID:s6D8tDed(2/5) AAS
愕然とする事実発覚。WSLはパイプを使うだけでも遅すぎる
これもforkが遅いからか?

[test1.sh]
foo() { :; }
i=0
while [ $i -lt 1000 ]; do
 foo | foo
 i=$((i+1))
done
--------
time ./test1.sh
real 0m8.005s
user 0m0.047s
sys 0m3.391s

[test2.sh]
foo() { :; }
i=0
while [ $i -lt 1000 ]; do
 foo
 foo # fooの呼び出し回数を合わせるため
i=$((i+1))
done
--------
time ./test2.sh
real 0m0.027s (殆どが起動時間)
user 0m0.000s
sys 0m0.000s
748: 2018/09/11(火)12:33 ID:s6D8tDed(3/5) AAS
ちなみにLinuxで同じことをやったら

[test1.sh]
real 0m0.281s
user 0m0.285s
sys 0m0.157s

[test2.sh]
real 0m0.006s
user 0m0.006s
sys 0m0.000s

WSLはLinuxの28倍
でもLinuxでも遅いっちゃー遅いな
749: 2018/09/11(火)13:12 ID:yZJ5+C9k(1) AAS
coLinuxならどうなんだろうね。WSLより速いのか?
750: 2018/09/11(火)13:37 ID:s6D8tDed(4/5) AAS
速いんじゃないの? coLinuxのLinuxアプリはWindowsとは
隔離された空間で動いているんでしょ?

NTカーネル上でLinuxアプリを実行してるんじゃなくて、
NTカーネル上に作ったLinux空間でLinuxアプリを動かしてる

WSLはLinuxアプリは、NTカーネルから見たとき1つのアプリに見えるけど
coLinuxはNTカーネルから見たときcoLinuxアプリしか見えない。という認識
751
(1): 2018/09/11(火)13:50 ID:s6D8tDed(5/5) AAS
着実にチューニングが進んでいるw
上のベンチマークじゃなくて今作ってるやつだけど
パイプをなくしたら200msから100msに二倍になった
もう一箇所、サブプロセス作ってる所があるのでそこを直すと60msぐらいになりそう

大した差はないように思えるけど、コマンドの実行で300msかかると
つっかかりを感じて、200msだと実行結果が表示開始されるまで一瞬の待ちを感じて
100msだと実行したと同時に1行ずつ出力されいく感じになる。
50msだと結果全てが一瞬で表示される感じになる

使い方によっても何度も実行する部分だからできる限り早くしておきたい。

Linuxだったこれがパイプ使っていても17ms
なくしたら8msなんだけどな
752
(1): 2018/09/11(火)18:37 ID:3cD6m1VP(1) AAS
>>747
ksh で約2倍高速化(bash比)w
753: 2018/09/11(火)19:09 ID:tPo3PLNb(1/3) AAS
>>752
やる処理によって大きく代わるよね

dash(ash)が多くの場合速い。bashとzshがその次。
kshはたいてい遅いんだけど、時たま早い処理があるって感じ
1-
あと 249 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s