Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

Windows bash (win-bash)のプロセスのfork性能を測ってみた

      2017/04/16

Windows上では今までCygwinを使っていたのですが、Cygwinはプロセスのforkの性能が遅く、全体的に遅かった。そこで、2016/8 にリリースされたWindows 10のbash (win-bashと略す)のfork性能がCygwinと較べてどのくらい早いのか比較してみた。

使用CPU : Core i5 6200U

まずはCygwin。1秒間にdateコマンドを20回ぐらい起動できた。(最初の1秒間は7回とかなり遅い)

$ while (true); do date; done | uniq -c
      7 2016年 8月 11日 木曜日 00:35:32 JST
     18 2016年 8月 11日 木曜日 00:35:33 JST
     24 2016年 8月 11日 木曜日 00:35:34 JST
     19 2016年 8月 11日 木曜日 00:35:35 JST
     20 2016年 8月 11日 木曜日 00:35:36 JST
     20 2016年 8月 11日 木曜日 00:35:37 JST
     20 2016年 8月 11日 木曜日 00:35:38 JST
     21 2016年 8月 11日 木曜日 00:35:39 JST
     18 2016年 8月 11日 木曜日 00:35:40 JST
     23 2016年 8月 11日 木曜日 00:35:41 JST

 

次はwin-bash。dateコマンドは30回程度とCygwinより若干性能はよい。

$ while (true); do date; done | uniq -c
     30 2016年  8月 11日 木曜日 00:36:06 DST
     34 2016年  8月 11日 木曜日 00:36:07 DST
     33 2016年  8月 11日 木曜日 00:36:08 DST
     33 2016年  8月 11日 木曜日 00:36:09 DST
     33 2016年  8月 11日 木曜日 00:36:10 DST
     32 2016年  8月 11日 木曜日 00:36:11 DST
     32 2016年  8月 11日 木曜日 00:36:12 DST
     33 2016年  8月 11日 木曜日 00:36:13 DST
     32 2016年  8月 11日 木曜日 00:36:14 DST
     33 2016年  8月 11日 木曜日 00:36:15 DS

 

同PC上のVirtualBox上のUbuntu 14.04 上でも計測してみた。

$ while (true); do date; done | uniq -c
    281 2016年  8月 11日 木曜日 14:20:38 JST
    518 2016年  8月 11日 木曜日 14:20:39 JST
    438 2016年  8月 11日 木曜日 14:20:40 JST
    415 2016年  8月 11日 木曜日 14:20:41 JST
    340 2016年  8月 11日 木曜日 14:20:42 JST
    340 2016年  8月 11日 木曜日 14:20:43 JST
    319 2016年  8月 11日 木曜日 14:20:44 JST
    275 2016年  8月 11日 木曜日 14:20:45 JST
    258 2016年  8月 11日 木曜日 14:20:46 JST
    255 2016年  8月 11日 木曜日 14:20:47 JST

桁が違う・・・
やっぱりネイティブなLinuxと比べると、win-bashはかなり遅そうだ。

 

2017/4/16追記

Windows 10 Creators update にアップデートして計測してみたが、差異なし

$ while (true); do date; done | uniq -c
      9 2017年  4月 16日 日曜日 22:37:40 DST
     32 2017年  4月 16日 日曜日 22:37:41 DST
     30 2017年  4月 16日 日曜日 22:37:42 DST
     31 2017年  4月 16日 日曜日 22:37:43 DST
     31 2017年  4月 16日 日曜日 22:37:44 DST
     30 2017年  4月 16日 日曜日 22:37:45 DST
     30 2017年  4月 16日 日曜日 22:37:46 DST

 

 - IT技術 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
JBossのHypersonicSQL(hsql)管理ツール起動方法

JBossには気軽に使用できるHSQLが組み込まれています。ちょっとしたDBを使 …

uvtoolで簡単にクラウドイメージ取得・起動@Ubuntu 14.04 LTS

Ubuntuのサイトにいろいろとクラウド用のイメージがありますが、uvtoolと …

no image
iモーション作成@SH906i

携帯が壊れてしまったので先日SH906iを買いました。最近の携帯はめちゃくちゃ高 …

no image
シェルで標準出力と標準エラーをそれぞれ違う異なるコマンドにパイプで渡す@bash

あるコマンドの標準出力と標準エラー出力をそれぞれ別々のコマンドで処理するには、以 …

no image
ソースコードのインデントを整形する@vim

vimでソースコードを編集していてインデントが崩れてしまった場合の整形の方法。 …

no image
リモートデスクトップのWindows10のシャットダウン

デスクトップ画面でAlt + F4 を押すと、シャットダウンメニューが出てきます …

no image
Googleの検索ツールが出てこない@Firefox

最近(2012年11月現在)、Googleの検索結果の表示が変更されて、検索ツー …

no image
Firefox 1.5へのJavaプラグインインストール@RHEL5 x86_64

Red Hat Enterprise Linux 5 に同梱されているFiref …

no image
Raspberry Pi2でHDMIからmp3の音を出す@Ubuntu 14.04

Raspberry Pi2 にUbuntuをインストールして、コマンドラインから …

no image
Cisco IOSエミュレータDynamipsを使ってみる@CentOS 5

Ciscoのスイッチやルータの設定の勉強をしたくて、DynamipsというCis …