[#40528] [Feature #2833] 絵文字エンコーディングの提案 — Kenta Murata <redmine@...>

Feature #2833: 絵文字エンコーディングの提案

32 messages 2010/03/02
[#40530] Re: [Feature #2833] 絵文字エンコーディングの提案 — Yukihiro Matsumoto <matz@...> 2010/03/02

まつもと ゆきひろです

[#40597] Re: [ruby-list:46898] 重複組合せは組込みにならないのでしょうか? — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>

きしもとです

17 messages 2010/03/12
[#40598] Re: [ruby-list:46898] 重複組合せは組込みにならないのでしょうか? — Yukihiro Matsumoto <matz@...> 2010/03/12

まつもと ゆきひろです

[#40601] Re: [ruby-list:46898] 重複組合せは組込みにならないのでしょうか? — Yusuke ENDOH <mame@...> 2010/03/12

遠藤です。

[#40608] Re: 組込みの重複順列・重複組合せ — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp> 2010/03/13

> 同様に、repeated_permutation/combination のデフォルト引数にも反対

[#40610] Re: 組込みの重複順列・重複組合せ — Yukihiro Matsumoto <matz@...> 2010/03/13

まつもと ゆきひろです

[#40641] [Bug #2965] method `===' called on hidden T_STRING object (NotImplementedError) — Kenta Murata <redmine@...>

Bug #2965: method `===' called on hidden T_STRING object (NotImplementedError)

12 messages 2010/03/15

[#40649] [Feature #2968] 数値の正負を返すメソッド — Yui NARUSE <redmine@...>

Feature #2968: 数値の正負を返すメソッド

17 messages 2010/03/15

[#40650] [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Yui NARUSE <redmine@...>

Feature #2969: String#to_f が -h.hhh±pd を解釈できるように

38 messages 2010/03/15
[#40728] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/22

質問ですが、この形式は入力だけでなく、なんらかの方法で出力でも利用でき

[#40732] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/22

成瀬です。

[#40736] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/23

> String#to_f は従来から指数表記を許していたので、

[#40738] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/23

成瀬です。

[#40745] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/24

> to_i がデフォルトで prefix を見ないのは、0377 のような、

[#40747] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/24

成瀬です。

[#40749] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/24

> 先のパッチの対象関数が ruby_strtod である通り、

[#40759] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/25

成瀬です。

[#40762] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/25

> strtod(3) の解釈対象に含まれていない 2 進や 8 進を否定することが、

[#40763] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/25

(2010/03/26 3:05), Tadayoshi Funaba wrote:

[#40764] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/25

> なぜ同じなのでしょう。

[#40782] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/26

(2010/03/26 4:02), Tadayoshi Funaba wrote:

[#40786] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — KOSAKI Motohiro <kosaki.motohiro@...> 2010/03/27

>> strtod(3) を参考にしたり、影響されたりすることは普通にあるとは思います

[#40788] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/27

(2010/03/27 18:19), KOSAKI Motohiro wrote:

[#40695] keiju, please check tickets assigned to you — Yusuke ENDOH <mame@...>

いしつかさん

15 messages 2010/03/18

[#40779] [Feature #3018] UNINITIALIZED_VAR() マクロの導入 — Motohiro KOSAKI <redmine@...>

Feature #3018: UNINITIALIZED_VAR() マクロの導入

12 messages 2010/03/26

[#40805] Improvement of Fiber switching cost with system dependent way — SASADA Koichi <ko1@...>

 ささだです.

10 messages 2010/03/28

[ruby-dev:40586] Re: [Feature #2833] 絵文字エンコーディングの提案

From: Kenta Murata <muraken@...>
Date: 2010-03-08 22:40:56 UTC
List: ruby-dev #40586
むらたです。

On 2010/03/08, at 23:22, Yusuke ENDOH wrote:

> 2010年3月3日12:43 Yusuke ENDOH <mame@tsg.ne.jp>:
>> せめて、テーブル生成のスクリプトを高速化してからか、configure の
>> オプションでオフにできるようにしていただけないでしょうか。
> 
> 文句言ってばかりなのも残念なので、自分で最適化してみました。
> tool/transcode-tblgen.rb を書き換えてから make にかかる時間が
> 
>                  no-opt -> opt
>  絵文字パッチ前: 133 秒 -> 124 秒
>  絵文字パッチ後: 275 秒 -> 151 秒
> 
> となりました。
> 絵文字パッチのせいで従来より 142 秒ビルドが遅くなっていたところを、
> 18 秒遅くなるだけになりました。これなら許容範囲かなと思います。
> (元々が遅すぎるという話はありますが)

遠藤さん、ありがとうございます。
私も手元で確認したのですが、これまでとても遅かった
UTF-8 から絵文字エンコーディングへの変換器を生成する時間が
ほぼ一瞬で終わるようになって驚きました。

これで遠藤さんからの反論については解決したと考えて良いと思います。
他に反論が無いようでしたら、絵文字エンコーディングを trunk にコミットします。


> 導入した最適化は以下の 2 つです。
> 
> 1) [byte..byte] の使いまわし
> [byte..byte] というオブジェクトが大量に作られていた (しかも破壊的
> 変更はされない) ので、使いまわすようにしました。
> 
> 2) memoize の改良
> PostMemo にヒットしたとき PreMemo を更新していなかったので、更新
> するようにしました。
> 
> 生成されるプログラムに変化はないようです。
> 
> 
> 小さい配列やハッシュを大量に生成し、(memoize のために) それらへの
> 参照を消さないプログラムなので、GC が結構時間を食っているようです。
> GC の最適化の題材に良いかもしれません。
> 
> 
> diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb
> index f8da86d..4f183f1 100755
> --- a/tool/transcode-tblgen.rb
> +++ b/tool/transcode-tblgen.rb
> @@ -23,6 +23,8 @@ HEX2 = /[0-9A-Fa-f]{2}/
> class StrSet
>   attr_reader :pat
> 
> +  SINGLE_BYTE_RANGES = (0..255).map {|i| [i..i] }
> +
>   def self.parse(pattern)
>     if /\A\s*((#{HEX2}|\{(#{HEX2}|#{HEX2}-#{HEX2})(,(#{HEX2}|#{HEX2}-#{HEX2}))*\})+(\s+|\z))*\z/o
> !~ pattern
>       raise ArgumentError, "invalid pattern: #{pattern.inspect}"
> @@ -33,7 +35,7 @@ class StrSet
>       while !seq.empty?
>         if /\A(#{HEX2})/o =~ seq
>           byte = $1.to_i(16)
> -          seq_result << [byte..byte]
> +          seq_result << SINGLE_BYTE_RANGES[byte]
>           seq = $'
>         elsif /\A\{([^\}]+)\}/ =~ seq
>           set = $1
> @@ -448,7 +450,7 @@ End
>     }
> 
>     if n = PostMemo[table]
> -      return n
> +      return PreMemo[[self,valid_encoding]] = n
>     end
> 
>     if !name_hint
> 
> -- 
> Yusuke ENDOH <mame@tsg.ne.jp>
> 

--
Kenta Murata
OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC

本を書きました!!
『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22

E-mail: mrkn@mrkn.jp
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/


In This Thread