パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

MicrosoftによるGitHub買収が完了」記事へのコメント

  • だったらgitくらいWindowsに標準装備させてくれませんかね

    • それもなんだけど、gitがストレスなく使えるように、NTFSのパフォーマンス上げてくれませんかね。
      純粋なファイルI/Oが遅いんじゃなくて、ディレクトリのトラバースが遅いのかな。

      親コメント
      • ひょっとしてCygwinだったり?

        Linux系に比べて、NTFSがただ遅いとも思えないんだけど。

        親コメント
        • by Anonymous Coward

          ググってみたけど、遅いとか速いとか、どちらも根拠となるものが見つからなかった。
          一点気になったのは、NTFS はまだデフラグが必要だけど、それは既定で行われているから
          気にする必要はないという事。

          • by Anonymous Coward

            Ruby関係だと「Windowsだと文字コード(改行コード)変換が入って遅い」てのが有ったような覚えが有る。
            けどファイル検索とかディレクトリ操作も遅いようだからほんと良く分からん……
            何らかの互換性レイヤでファイル検索がO(n2)になってるとかだとわかりやすいんだけどなぁ…

      • by Anonymous Coward

        NTFSのパフォーマンスが悪いのではなく、使い方が違うだよね。

        unix系は、伝統的にワイルドカード展開などがシェルの仕事なので foo/b*ar にマッチする全ファイルを列挙はアプリ側の仕事で、 foo/b1ar、foo/b2ar 、、と順番にシステムコールを投げるるので、一回あたりのコストは最小だけど、全体ではやりとりが増える。
        NTFS (というか MSDOS/Windows)では、ワイルドカードの展開などはシステムコール内の仕事で、一回あたりのコストはかかるけど、一回投げたときにやれる仕事は多い。

        unix系の処理の構成のまんま、Windowsに持ってきたら、アプリとOS両方が無駄な仕事をすることになるので遅くなる。

        • by Anonymous Coward

          > unix系は、伝統的にワイルドカード展開などがシェルの仕事なので
          うんうん。

          > foo/b*ar にマッチする全ファイルを列挙はアプリ側の仕事で、
          シェルはユーザランド側だからアプリといえばアプリだけど、アプリからみたらシステム側なんだが。

          > foo/b1ar、foo/b2ar 、、と順番にシステムコールを投げるるので、
          えーっと、UNIX系では、ディレクトリはファイルの一種。といっても形式が特殊なので、
          read() ではなくて getdents() システムコールで中身を纏めて読む。
          だたし、API 的にはより抽象度の高い readdir() 系を使うのが普通。
          で、いずれにしても個々のファイルの名前を推測して順番にシステムコールを発行する事はないよ。
          (stat() 系システムコールの使い方を勘違いしてるのかな?)

          • by Anonymous Coward

            ファイルの話しかしてないのに、どこからディレクトリの話になったのだろうか、、、

            • by Anonymous Coward

              ワイルドカード展開というのは、ディレクトリを調べてファイル名を取得するという事ですよ。ファイルの扱いとディレクトリは不可分です。

※ただしPHPを除く -- あるAdmin

処理中...