[#40602] [ruby-trunk - Bug #5532][Open] Compile problem for bigdecimal on cygwin — Martin Dürst <duerst@...>
[#40646] [ruby-trunk - Bug #5541][Open] Better configure error message when llvm-gcc is the default compiler — Eric Hodel <drbrain@...7.net>
[#40647] [ruby-trunk - Bug #5542][Open] Ruby 1.9.3-p0 changed arity on default initialization method — Joshua Ballanco <jballanc@...>
[#40648] [ruby-trunk - Feature #5543][Open] rb_thread_blocking_region() API is poorly designed — Christopher Huff <cjameshuff@...>
[#40662] Relevant methods not appearing in RDoc — Andrew Grimm <andrew.j.grimm@...>
The method Module.private_constant isn't appearing in
On Nov 1, 2011, at 3:45 PM, Andrew Grimm wrote:
On Wed, Nov 2, 2011 at 9:55 AM, Eric Hodel <drbrain@segment7.net> wrote:
[#40684] [ruby-trunk - Feature #5555][Open] rename #include? to #includes? — Alexey Muranov <muranov@...>
> The basic naming for methods in standard class libraries are:
On Tue, Apr 24, 2012 at 15:47, Roger Pack <rogerdpack2@gmail.com> wrote:
>> It always confuses me how that one defies the rule.
[#40688] [ruby-trunk - Bug #5556][Open] SIGHUP no longer ignored when sent to process group from a subprocess — Brian Ford <brixen@...>
[#40706] [ruby-trunk - Feature #5562][Open] Improvement of Windows IO performance — Hiroshi Shirosaki <h.shirosaki@...>
[#40737] [ruby-trunk - Bug #5570][Open] Encoding of environment variables on Windows — Nikolai Weibull <now@...>
Hello,
[#40748] Proposal for sustainable branch maintenance — "Yuki Sonoda (Yugui)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
Why maintain 1.9.1 at all? I don't see the benefit. People need to
[#40751] [ruby-trunk - Feature #5574][Open] Make arrays comparable — Arnau Sanchez <rbarnau@...>
[#40770] [ruby-trunk - Feature #5578][Open] Embedded YAML for Ruby 2.0 — Thomas Sawyer <transfire@...>
[#40806] [ruby-trunk - Feature #5583][Open] Optionally typing — Yasushi ANDO <andyjpn@...>
[#40824] [ruby-trunk - Feature #5588][Open] add negation flag (v) to Regexp — Suraj Kurapati <sunaku@...>
[#40840] A quiz: Re: Second patch attempt for PATH_MAX fix in ruby1.9.1- 1.9.3~rc1-3 — Svante Signell <svante.signell@...>
Hello,
[#40845] [Ruby 1.8 - Bug #5599][Open] YAML.load_documents — Thomas Sawyer <transfire@...>
[#40865] IO.copy_stream creates files with restrictive permissions — Eric Wong <normalperson@...>
I'm not sure if this is a bug or intended as spec.
2011/11/9 Eric Wong <normalperson@yhbt.net>:
>> I noticed when a file name argument is passed to the IO.copy_stream, the
On 20/11/2011, at 5:09 PM, KOSAKI Motohiro wrote:
2011/11/20 Clifford Heath <clifford.heath@gmail.com>:
>> I think documentation is the wrong answer. The security defects are not caused
2011/11/22 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
On 22/11/2011, at 9:39 AM, Tanaka Akira wrote:
2011/11/22 Clifford Heath <clifford.heath@gmail.com>:
>> The umask that almost every Unix distribution has always had in /etc/profile - which is 022.
[#40867] Question regarding Ruby 2.0 backwards compatibility — Martin Bo煬et <martin.bosslet@...>
If I recall it correctly, the goal for 2.0 was to stay API-compatible
[#40898] [ruby-trunk - Feature #5605][Open] [PATCH] net/http: use IO.copy_stream for requests using body_stream — Eric Wong <normalperson@...>
[#40908] [ruby-trunk - Feature #5607][Open] Inconsistent reaction in Range of String — Yen-Nan Lin <redmine@...>
[#40941] [ruby-trunk - Feature #5617][Open] Allow install RubyGems into dediceted directory — Vit Ondruch <v.ondruch@...>
[#40943] [ruby-trunk - Bug #5619][Open] Segfault on OS X — Otto Hilska <otto@...>
[#40951] [Backport93 - Backport #5621][Open] Please backport thread-safe autoloading patch — Mike Perham <mperham@...>
Unfortunately ruby-head has a deadlock in one of my go-to scenarios for
-----BEGIN PGP SIGNED MESSAGE-----
On Sat, Nov 12, 2011 at 7:24 PM, Hiroshi Nakamura <nahi@ruby-lang.org> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Fri, Nov 18, 2011 at 12:15 AM, Hiroshi Nakamura <nahi@ruby-lang.org> wrote:
(2011/11/19 6:31), Charles Oliver Nutter wrote:
On Fri, Nov 18, 2011 at 5:24 PM, Hiroshi Nakamura <nahi@ruby-lang.org> wrote:
(2011/11/19 9:08), Charles Oliver Nutter wrote:
-----BEGIN PGP SIGNED MESSAGE-----
[#40982] [ruby-trunk - Bug #5625][Open] Remove profanity and pejoratives — Andrew Grimm <andrew.j.grimm@...>
I was not aiming to protect children from the f-word. My intention was
[#41004] [ruby-trunk - Feature #5628][Open] Module#basename — Thomas Sawyer <transfire@...>
[#41024] [ruby-trunk - Feature #5632][Open] Attempt to open included class shades it instead. — Boris Stitnicky <boris@...>
[#41025] Proposal to add new methods: positive? negative? natural? — JosFrancisco Calvo Moreno <josefranciscocalvo@...>
Hi all!
On 11/15 12:58, Jos? Francisco Calvo Moreno wrote:
Hi Jeremy,
Hi Chuck,
2011/11/14 JosFrancisco Calvo Moreno <josefranciscocalvo@gmail.com>:
I don't have a deep understanding of ruby core base types but I want to
On IEEE 754 Floating Point Numbers, there are positive 0.0 and negative 0.0.
Do you suggest the following?
[#41038] [ruby-trunk - Bug #5634][Open] yield and binding — Thomas Sawyer <transfire@...>
[#41078] mkmf sets CFLAGS to contain flags that it shouldn't be setting — Nikolai Weibull <now@...>
Hi!
Hi,
On Thu, Nov 17, 2011 at 07:24, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
On Thu, Nov 17, 2011 at 14:46, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#41079] Why doesn’t mkmf’s have_macro add a HAVE_X to $defs? — Nikolai Weibull <now@...>
Hi!
Hi,
[#41086] [ruby-trunk - Feature #5644][Open] add Enumerable#exclude? antonym — Suraj Kurapati <sunaku@...>
[#41114] [Backport93 - Backport #5646][Open] Backport r33775 — Aaron Patterson <aaron@...>
> Also, is there a script for doing backports? t looks like the commit messages are generated.
On Thu, Dec 01, 2011 at 02:19:31AM +0900, KOSAKI Motohiro wrote:
>> > Also, is there a script for doing backports? t looks like the commit messages are generated.
[#41116] Pathname['abc'] instead of Pathname('abc') global method as constructor alternative — "Alexander E. Fischer" <aef@...>
Hello,
[#41149] autoload will be dead — Yukihiro Matsumoto <matz@...>
Hi,
Does this also mean that we will not enhance const_missing to support
[#41160] [ruby-trunk - Bug #5650][Open] Add rb_enc_raise() to allow C extensions to raise errors with messages with correct encoding — Nikolai Weibull <now@...>
[#41161] conflict between 1.8.7 and 1.9.3 installations — Joel VanderWerf <joelvanderwerf@...>
Hi,
On 11/19/2011 04:55 PM, Nobuyoshi Nakada wrote:
[#41171] [ruby-trunk - Feature #5653] "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead) — Hiroshi Nakamura <nakahiro@...>
[#41175] [ruby-trunk - Feature #5654][Open] Introduce global lock to avoid concurrent require — Hiroshi Nakamura <nakahiro@...>
[#41186] [ruby-trunk - Bug #5657][Open] Constants in included modules aren't visible when defining classes with Class.new — Gary Bernhardt <gary.bernhardt@...>
[#41211] Availability of ruby/intern.h — Aaron Patterson <tenderlove@...>
Are functions accessible via ruby/intern.h considered to be "public"
[#41212] [ruby-trunk - Feature #5662][Open] inject-accumulate, or Haskell's mapAccum* — Edvard Majakari <edvard.majakari@...>
[#41213] [ruby-trunk - Bug #5663][Open] Combined map/select method — Yehuda Katz <wycats@...>
[#41256] [ruby-trunk - Feature #2567] Net::HTTP does not handle encoding correctly — Yui NARUSE <naruse@...>
[#41262] [ruby-trunk - Feature #5666][Open] Make rb_path2class public — Aaron Patterson <aaron@...>
[#41302] [ruby-trunk - Feature #5673][Open] undef_method probably doesn't need to raise an error — Thomas Sawyer <transfire@...>
[#41314] [ruby-trunk - Bug #5675][Open] [mingw] static build fails due to socket extension build failure — Jon Forums <redmine@...>
> compiling ../../../ext/socket/socket.c
On Sun, Nov 27, 2011 at 4:11 AM, KOSAKI Motohiro
2011/11/27 Luis Lavena <luislavena@gmail.com>:
[#41321] [Proposal] C API arrangement — Yugui <yugui@...>
Hi, mame-san
[#41336] Wrong encoding of Symbol — Andriy Tyurnikov <andriy.tyurnikov@...>
By default Symbols are encoded as US-ASCII,
Hi,
Hi,
Matz wrote :
[#41338] [ruby-trunk - Feature #5677][Open] IO C API — Martin Bosslet <Martin.Bosslet@...>
[#41340] [ruby-trunk - Feature #5678][Open] StringIO#to_str — Martin Bosslet <Martin.Bosslet@...>
[#41351] [ruby-trunk - Bug #5679][Open] Too many arguments for format warnings on mingw32 build — Heesob Park <phasis@...>
> I can see the following warnings during mingw32 build.
[#41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW — Luis Lavena <luislavena@...>
2011/11/28 Luis Lavena <luislavena@gmail.com>:
[#41404] [ruby-trunk - Bug #5690][Open] Module#qualified_const_get — Yehuda Katz <wycats@...>
Hi,
[ruby-core:40917] [ruby-trunk - Feature #5562] Improvement of Windows IO performance
Issue #5562 has been updated by Luis Lavena.
Category set to core
Assignee set to Usaku NAKAMURA
Hiroshi Shirosaki wrote:
> I'm not sure how to do with test-all. mingw ruby seems not to pass all tests.
That is correct, if you add skip to the following two:
TestRequire#test_require_invalid_shared_object
TestRubyOptions#test_segv_test
make test-all will complete
> Anyway I tried to make test-all.
> If ruby-core committers like this result, I hope this patch merged to trunk.
>
> I have modified a patch to trunk. Previous patch conflicts with trunk. I have resolved and added minor fixes.
>
> make test-all result become better.
>
The following is the list of tests that fails (using RubyInstaller's base) trunk versus your patch:
trunk:
TestArgf#test_textmode
TestDir_M17N#test_filename_bytes_euc_jp
TestDir_M17N#test_filename_euc_jp
TestDir_M17N#test_filename_ext_euc_jp_and_int_utf_8
TestDir_M17N#test_filename_extutf8
TestDir_M17N#test_filename_extutf8_inteucjp_representable
TestDir_M17N#test_filename_extutf8_inteucjp_unrepresentable
TestDir_M17N#test_filename_utf8_raw_name
TestGDBM#test_reorganize
TestGDBM#test_s_open_create_new
TestGDBM#test_s_open_error
TestGemInstaller#test_generate_bin_bindir_with_user_install_warning
TestRDocMarkupPreProcess#test_include_file
TestRDocMarkupPreProcess#test_include_file_encoding_incompatible
TestRubyOptions#test_encoding
TestUnicodeEscape#test_basic
TestWEBrickCGI#test_cgi
TestWin32OLE#test_s_codepage_changed
Versus your patch:
TestDir_M17N#test_filename_bytes_euc_jp
TestDir_M17N#test_filename_euc_jp
TestDir_M17N#test_filename_ext_euc_jp_and_int_utf_8
TestDir_M17N#test_filename_extutf8
TestDir_M17N#test_filename_extutf8_inteucjp_representable
TestDir_M17N#test_filename_extutf8_inteucjp_unrepresentable
TestDir_M17N#test_filename_utf8_raw_name
TestGDBM#test_reorganize
TestGDBM#test_s_open_create_new
TestGDBM#test_s_open_error
TestGemInstaller#test_generate_bin_bindir_with_user_install_warning
TestOpen3#test_capture3_flip
TestRDocMarkupPreProcess#test_include_file
TestRDocMarkupPreProcess#test_include_file_encoding_incompatible
TestRubyOptions#test_encoding
TestUnicodeEscape#test_basic
TestWEBrickCGI#test_cgi
TestWin32OLE#test_s_codepage_changed
===
In your patch TestArgf#test_textmode no longer fails, but TestOpen3#test_capture3_flip does.
trunk:
10347 tests, 1884751 assertions, 9 failures, 9 errors, 95 skips
your patch:
10347 tests, 1884748 assertions, 8 failures, 10 errors, 95 skips
===
It is worth to mention that write performance using your test script did improve:
V:\>ruby -v t.rb
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]
"0 0.598029"
"1 0.300001"
"2 0.2"
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
"0 0.413023"
"1 0.746043"
"2 0.935052"
ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
"0 0.400014"
"1 0.721023"
"2 0.918049"
V:\>ruby -v t.rb
ruby 2.0.0dev (2011-11-10 trunk 33700) [i386-mingw32]
"0 0.396023"
"1 0.725817"
"2 0.936044"
*with patch*
V:\>ruby -v t.rb
ruby 2.0.0dev (2011-11-10 trunk 33700) [i386-mingw32]
"0 0.401023"
"1 0.238013"
"2 0.139008"
I'm assigning this to Usaku Nakamura for comments.
Thank you.
----------------------------------------
Feature #5562: Improvement of Windows IO performance
http://redmine.ruby-lang.org/issues/5562
Author: Hiroshi Shirosaki
Status: Open
Priority: Normal
Assignee: Usaku NAKAMURA
Category: core
Target version:
=begin
I suggest a patch to improve Windows IO performance.
Ruby's text mode IO is much slower than binary mode.
On Windows text mode is default, so Windows IO is slow.
I assume that's mainly because of CRLF linefeed code conversion.
My idea to improve IO performance is as below.
- Change default linefeed conversion from Universal newline to CRLF newline on Windows
- Use binary mode process with OS's text mode if only CRLF conversion is needed
- Use Ruby's text mode with universal newline conversion if encoding conversion is needed
Although that causes io.c code to be more complicated, IO with CRLF conversion performance seems to be improved much.
I confirmed "make test-all TEST=ruby" have been passed. There was 3 errors, but ruby without this patch had same errors.
I think this patch doesn't affect other OS.
Line endings of "p" or "puts" writing is LF on trunk, but CRLF on 1.8.7 or 1.9.2.
This patch reverts to CRLF.
Here is #1332 benchmark test and results.
time = [Time.new]
c = ''
'aaaa'.upto('zzzz') {|e| c << e}
4.times { c << c }
time << Time.new
File.open('out.file','w') { |f| f.write(c) }
time << Time.new
c = File.open('out.file','r') { |f| f.read }
time << Time.new
0.upto(time.size - 2) {|i| p "#{i} #{time[i+1]-time[i]}" }
- Result
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]
"0 0.78125"
"1 0.6875"
"2 0.5625"
ruby 2.0.0dev (2011-11-03) [i386-mingw32]
"0 0.59375"
"1 1.09375"
"2 1.296875"
ruby 2.0.0dev (2011-11-03 trunk 33615) [i386-mingw32] with this patch
"0 0.625"
"1 0.65625"
"2 0.34375"
=end
--
http://redmine.ruby-lang.org