[#38121] regex performace tuning and ABI compatibility — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

13 messages 2009/03/03

[#38191] big time — Tanaka Akira <akr@...>

思い立って、time_t を越える範囲を Time で扱うことに挑戦して

31 messages 2009/03/27
[#38194] Re: big time — Tadayoshi Funaba <tadf@...> 2009/03/28

> 思い立って、time_t を越える範囲を Time で扱うことに挑戦して

[#38196] Re: big time — Tanaka Akira <akr@...> 2009/03/28

In article <20090328.134401.209982445.tadf@dotrb.org>,

[#38202] Re: big time — Urabe Shyouhei <shyouhei@...> 2009/03/29

卜部です。

[#38205] Re: big time — Tanaka Akira <akr@...> 2009/03/29

In article <49CF6641.7010204@ruby-lang.org>,

[#38218] rinda/eval.rb — Masatoshi SEKI <m_seki@...>

咳といいます。

20 messages 2009/03/30
[#38219] Re: rinda/eval.rb — Tanaka Akira <akr@...> 2009/03/31

In article <F01982B3-FBB5-497F-BA36-38FA250E7D69@mva.biglobe.ne.jp>,

[#38223] Re: rinda/eval.rb — Masatoshi SEKI <m_seki@...> 2009/03/31

咳といいます。

[#38229] Re: rinda/eval.rb — "U.Nakamura" <usa@...> 2009/04/01

こんにちは、なかむら(う)です。

[#38233] Re: rinda/eval.rb — Tanaka Akira <akr@...> 2009/04/01

In article <20090401095853.B00A.C613B076@garbagecollect.jp>,

[#38222] *BSD で fork できない理由 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>

きしもとです

12 messages 2009/03/31

[ruby-dev:38224] Re: [Bug #1328] "p eval('0' + '+0.1'*n)" の挙動

From: Kenta Murata <muraken@...>
Date: 2009-03-31 13:44:15 UTC
List: ruby-dev #38224
むらたです。

On 2009/03/30, at 12:47, Nobuyoshi Nakada wrote:

> At Mon, 30 Mar 2009 05:50:40 +0900,
> Kenta Murata wrote in [ruby-dev:38207]:
>> "p eval('0'+'+0.1'*n)" を評価すると、n がある値  
>> N を超えたときに
>> スタックが溢れますが、バージョン 1.9.2 の N  
>> が バージョン 1.9.1 より
>> 小さくなっています。
>
> 再現できませんでした。
>
> $ ./ruby -ve "p eval('0'+'+0.1'*6714)"
> ruby 1.9.2dev (2009-03-30 trunk 23097) [i386-darwin9.0]
> 671.40000000008411
>
> $ ./ruby -ve "p eval('0'+'+0.1'*6715)"
> ruby 1.9.1p0 (2009-03-04 revision 22762) [i386-darwin9.6.0]
> -e:1:in `eval': stack level too deep (SystemStackError)
> 	from -e:1:in `<main>'
>
>> $ ~/ruby-1.9.1-r22762/bin/ruby -ve "p eval('0'+'+0.1'*13093)"
>> ruby 1.9.1p0 (2009-03-04 revision 22762) [i386-darwin9.6.0]
>> 1309.2999999999
>> $ ~/ruby-1.9.1-r22762/bin/ruby -ve "p eval('0'+'+0.1'*13094)"
>> ruby 1.9.1p0 (2009-03-04 revision 22762) [i386-darwin9.6.0]
>> -e:1:in `eval': stack level too deep (SystemStackError)
>>        from -e:1:in `<main>'
>>
>> $ ~/ruby-1.9.2-r23093/bin/ruby -ve "p eval('0'+'+0.1'*7481)"
>> ruby 1.9.2dev (2009-03-29) [i386-darwin9.6.0]
>> 748.10000000010155
>> $ ~/ruby-1.9.2-r23093/bin/ruby -ve "p eval('0'+'+0.1'*7482)"
>> ruby 1.9.2dev (2009-03-29) [i386-darwin9.6.0]
>> -e:1:in `eval': stack level too deep (SystemStackError)
>>        from -e:1:in `<main>'
>
> それぞれのコンパイルオプションは同じでしょうか。

configure 時に CFLAGS 等は特に指定していませんので、
コンパイルオプションは各バージョンのデフォルトが指定されています。

$ ~/ruby-1.9.2-r23093/bin/ruby -rrbconfig -ve 'p  
Config::CONFIG["CFLAGS"]'
ruby 1.9.2dev (2009-03-29) [i386-darwin9.6.0]
" -O3 -g -Wall -Wno-unused-parameter -Wno-parentheses -Wno-missing- 
field-initializers -Wshorten-64-to-32 -Wpointer-arith -Wwrite-strings - 
fno-common -pipe"

$ ~/ruby-1.9.1-r22762/bin/ruby -rrbconfig -ve 'p  
Config::CONFIG["CFLAGS"]'
ruby 1.9.1p0 (2009-03-04 revision 22762) [i386-darwin9.6.0]
" -O2 -g -Wall -Wno-parentheses  -fno-common -pipe -fno-common"

影響しそうな違いは -O2 から -O3 に変わったところ 
くらいでしょうか。

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





In This Thread

Prev Next