[#45627] some warnings compiled with gcc 4.6.3 — SASADA Koichi <ko1@...>
ささだです.
6 messages
2012/05/06
[#45637] [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
14 messages
2012/05/16
[#45644] Re: [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
— Tanaka Akira <akr@...>
2012/05/17
2012/5/16 Glass_saga (Masaki Matsushita) <glass.saga@gmail.com>:
[#45645] Re: [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
— Nobuyoshi Nakada <nobu@...>
2012/05/17
なかだです。
[#45646] Re: [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
— Tanaka Akira <akr@...>
2012/05/17
2012/5/17 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#45650] space in COUTFLAG — Takahiro Kambe <taca@...>
こんにちは。
6 messages
2012/05/18
[#45670] [ruby-trunk - Bug #6479][Open] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる — "kachick (Kenichi Kamiya)" <kachick1+ruby@...>
9 messages
2012/05/22
[#45671] [ruby-trunk - Bug #6479][Assigned] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる
— "knu (Akinori MUSHA)" <knu@...>
2012/05/23
[#45673] Bug?: level argument of caller — SASADA Koichi <ko1@...>
ささだです.
4 messages
2012/05/23
[ruby-dev:45689] [ruby-trunk - Bug #6509][Assigned] String#gsub is too slow if receiver includes a binary
From:
"shyouhei (Shyouhei Urabe)" <shyouhei@...>
Date:
2012-05-29 02:18:55 UTC
List:
ruby-dev #45689
Issue #6509 has been updated by shyouhei (Shyouhei Urabe).
Category changed from core to M17N
Status changed from Open to Assigned
Assignee set to naruse (Yui NARUSE)
str_gsubの中でdestが一回non asciiになってしまったらそれ以降はsearch_nonasciiしても無駄という気がしますが専門家のご意見をうかがいたいところです。
----------------------------------------
Bug #6509: String#gsub is too slow if receiver includes a binary
https://bugs.ruby-lang.org/issues/6509#change-26885
Author: okkez (okkez _)
Status: Assigned
Priority: Normal
Assignee: naruse (Yui NARUSE)
Category: M17N
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-05-28 trunk 35830) [x86_64-linux]
=begin
以下のようなコードで String#gsub が遅くなります。
* b = "" の場合(A): 0.2840230464935303
* b = "\xB9" の場合(B): 4.183771848678589
# -*- coding: utf-8 -*-
a = ("abcde\n"*50000).force_encoding("binary")
#b = ""
b = "\xB9".force_encoding("binary")
c = ("efghi\n"*50000).force_encoding("binary")
d = "#{a}#{b}#{c}"
start = Time.now.to_f
d.gsub(/\n/) { "" }
puts(Time.now.to_f - start)
それぞれの場合で、プロファイルを取ってみたので添付します。
(B)の場合に、search_nonascii を約20万回呼び出して処理時間の92%を費しています。
(A)の場合は、約10万回しか呼び出しておらず、処理時間も短いです。
=end
--
http://bugs.ruby-lang.org/