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

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

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

    • by Anonymous Coward

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

      • by Anonymous Coward

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

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

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

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

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

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

          親コメント
          • by Anonymous Coward

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

            • by Anonymous Coward

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

日々是ハック也 -- あるハードコアバイナリアン

処理中...