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

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

  • by Anonymous Coward

    ミスリードを誘うための恣意的なプログラミング、というだけに見えますね。

    for文の中身を
            concatString = addString + concatString
    こうするだけで、メモリ版の方が高速になります。(結果として同じ答えが得られる)
            concatString += addString

    addStringを逆順に入れることに拘りたい or 古いPythonでも速くしたいなら下記のようにすればOKで、やはりメモリ版の方が高速。
    conlist=[]
    for i in range(0, numIter):
            conlist.append(addString)
    conlist.reverse()
    concatString = "".join(conlist)

    • by t-wata (10969) on 2015年03月28日 21時54分 (#2786602) 日記

      ディスクに直接書き込むって方は、

      for i in range(0, numIter):
          f.write(addString)

      というコードを使っているので、メモリで結合も

      concatString += addString

      で良いはず。遅くするために無理やりやってますよね。
      あとこれ書いた人はまずバッファリングについて調べたほうがいいですね。pythonにしろJavaにしろ、IO操作にバッファリング効かせたら何を比較したいのやらさっぱりわからないですね。pythonも
      open('file.txt', 'w', 0)
      して比較するべきでしょう。

      親コメント

最初のバージョンは常に打ち捨てられる。

処理中...