[ruby-cvs:68813] normal:r61632 (trunk): io.c: clear Strings we create for IO.copy_stream

normal at ruby-lang.org normal at ruby-lang.org
Sat Jan 6 06:14:20 JST 2018


normal	2018-01-06 06:14:19 +0900 (Sat, 06 Jan 2018)

  New Revision: 61632

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=61632

  Log:
    io.c: clear Strings we create for IO.copy_stream
    
    While we can't recycle strings after giving them rb_funcall*,
    we can reduce their malloc overhead by resizing them to zero.
    This only affects cases where either `src' or `dst' is a non-IO
    object and either `copy_length' is passed or there is
    pre-existing data in the read buffer.
    
    * io.c (copy_stream_fallback_body): clear when done with `copy_length'
      (copy_stream_body): clear when done with pre-existing read buffer

  Modified files:
    trunk/io.c


More information about the ruby-cvs mailing list