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

メモリー上で処理するよりもディスクに直接書き込む方が高速?」記事へのコメント

  • by nim (10479) on 2015年03月28日 18時31分 (#2786507)

    >OSによるバッファリングがあるためにディスクへ直接書き込んでも速度がそれほど低下しないと指摘。

    これ、「ディスクに直接書き込む」って言えんのか?

    • by Anonymous Coward on 2015年03月28日 18時39分 (#2786511)

      バッファリンがどうこう言ってるあたりからして、計測時間中には全く書き込んでいない可能性すらある。

      親コメント
      • by Anonymous Coward

        でも、「ファイルから直接読み込む」ことができるなら問題ないんですよ。

        事の本質は、メモリは断片化できないけど、ファイルは断片化しててもいい、ってことだと思いますけどね。ファイルは断片化上等だから、領域の再確保でコピーが発生しません。精々が飛んでる部分のアドレスを書くくらい。一方、メモリは確保した領域が足りなくなれば、そこをあきらめて新しい場所に移動して既存の部分はコピーするから、ですよね。

        だから、ファイルっぽいメモリ確保ができるメモリマネージャーを誰かが作ればいいんだと思いますよ。ポインタで直接足し算引き算できないのがネックですけど、ファイルと同等のインターフェイスを備えるくらいならできるでしょうから、そこを経由させて最後に一気にディスクアクセスした方が速いと思います。

        • by Anonymous Coward

          RAMディスクとかってそういう仕組みじゃないの?
          そもそもディスク上でデータ処理なんかしたら、IO待ちだけで死ねると思うんだけどね。

          多分この研究者達は、DBシステムの先人達の苦労を、貶めたいんだろうね。

        • by Anonymous Coward

          それって、memory-mapped fileのことでは?

        • by Anonymous Coward

          まだ一昔前まではテキストエディタなんかでそういう技術論が盛り上がってましたね。

        • by Anonymous Coward

          最近の OS だと、アプリケーション上は連続した領域でも、実メモリ上では断片化しているということが
          あるのではないでしょうか。

          • by Anonymous Coward

            > アプリケーション上は連続した領域でも、実メモリ上では断片化しているということが

            参照の局所性の話もあるし、ハッキリ言って、ページレベルでの断片化なんてメモリ処理上、測定限界以下の速度差しかないでしょうね。
            ほとんどハードウェア組み込みの機能ですし、気にする必要なんて何処にも無いでしょうね。

      • by Anonymous Coward

        半分は優しさで出来てるんです?

      • by Anonymous Coward

        頭いたくて寝てたんでしょうかね。

      • by Anonymous Coward

        処理時間の半分は優しさでできていますか?

    • by Anonymous Coward on 2015年03月28日 20時15分 (#2786552)

      Linuxなら、Direct I/OやRAW I/Oを利用した場合のみがディスクへ直接書き込みになります。仮想ファイルシステムレベルで扱いが違いますので一緒に議論することはできません。それにmemory-mapped fileについても議論する必要があるだろうしね。

      Windowsの場合、memory-mapped fileが一番高速みたいですね。最近のWindowsならOSによるバッファリングも間接的にmemory-mapped fileを使っているようですしね。

      あと、メモリ空間に余裕があるなら、Laege Page Supportを利用するかどうかによっても違いが出てくるけれど、ここでの議論とは趣旨が変わってくる。

      親コメント
    • by Anonymous Coward

      str1=str1+str2 より str1+=str2 の方が速い、みたいな話ですね。

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

処理中...