Issue #5704 has been updated by Hiroshi Shirosaki.

File commitlog.txt added
File winio_backport.patch added

At [ruby-core:42102], Luis mentioned
> I took the assignation of above tickets and will perform the backports
> next week tops.
>
> If another committer disagree, please say so.

It seems no one disagree.
So I'll do the backports. I heard Luis was very busy with other work.


Backport patches are maintained at
https://github.com/thecodeshop/ruby/commits/winio/ruby_1_9_3

These issues (11 commits) are a set of fixes. So I'll backport with one commit.

>  http://bugs.ruby-lang.org/issues/5794
>  http://bugs.ruby-lang.org/issues/5793
>  http://bugs.ruby-lang.org/issues/5792
>  http://bugs.ruby-lang.org/issues/5791


I attached a backport patch and commit log.
I'll commit that with version.h PATCHLEVEL fix.

-#define RUBY_PATCHLEVEL 31
+#define RUBY_PATCHLEVEL 32


I confirmed make, `make test` and `make test-all` are no problem.

Is this OK?


I cannot change redmine issue's status. Could anyone register me as a developer on redmine?
----------------------------------------
Backport #5704: Please backport r33937 (newline decorator)
https://bugs.ruby-lang.org/issues/5704

Author: Luis Lavena
Status: Open
Priority: Normal
Assignee: Yuki Sonoda
Category: 
Target version: 


Hello,

r33937 contains what was labeled 'feature' for ruby-trunk (Issue #5562), however, it was considered a bug and acknowledged by developers in #1332

Quoting Yusuke Endoh:

"Yes, text mode is still 10x -- 30x slower than binary mode.
It is reproduced not only on windows but also Linux.
Perhaps, this is the symptom because of the reason explained
in [ruby-core:26515]."

And quoting Usaku Nakamura:

"Currently, we has implemented the newline conversion as a
transcode converter, just like encoding conversion.
But the design of transcode is too general to use it such
a simple operation, as our finding.
We want to find a better mechanism which doesn't deviate
from the current design of IO..."

The patch provided by Hiroshi Shirosaki speeds up both file read and write operations under Windows to decent levels while do not deviate from current IO design.

Please consider this for backporting as we see it as Bug and not Feature.


-- 
http://bugs.ruby-lang.org/