Backport #5585
closed
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r33651.
Akio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
these changes reduces fsync() calls to improve performance.
first reported at [ruby-list:48515] by ak7 at mail.goo.ne.jp .
[Bug #5585]
- Tracker changed from Bug to Backport
- Project changed from Ruby master to Backport193
- Category deleted (
core)
- Status changed from Closed to Open
- Target version deleted (
2.0.0)
- Status changed from Open to Assigned
- Assignee changed from usa (Usaku NAKAMURA) to arton (Akio Tajima)
レビュー待ち。
バックポート作業自体はyuguiさんがするのかしら。
trunkの修正を元にした添付パッチの以下について確認しました。
・io.cで問題となっている箇所からのfsyncの除去と、rb_io_flushおよびrb_io_rewindへのfsyncの追加
・ioのテストのパス
・100MBファイルの書き込みがそれほど遅くないこと
・x64-mswin64で[ruby-list:48515]のスクリプトで以下を得ました。
Write:1.639093(s)
Read :1.672095(s)
ステータスとして、「confirmed」とか「reviewed」とかが要るのかな?
先のエントリの修正:
trunkの修正を元にした添付パッチの以下について確認して、期待した修正であることを確認しました。
・io.cで問題となっている箇所からのfsyncの除去と、rb_io_flushおよびrb_io_rewindへのfsyncの追加→されています。
・ioのテストがパスすること。→パスしました。
・100MBファイルの書き込みがそれほど遅くないこと
・x64-mswin64で[ruby-list:48515]のスクリプトで以下を得ました。
Write:1.639093(s)
Read :1.672095(s)
これは、パッチ前のWriteの所要時間(約180秒)から大幅な向上です。
- Status changed from Assigned to Closed
This issue was solved with changeset r33658.
Akio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- io.c (io_fflush): remove fsync().
- io.c (rb_io_flush, rb_io_rewind): fsync() here.
These pathces are backports of trunk r33651 for [Bug #5585]
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0