[#15359] Timeout::Error — Jeremy Thurgood <jerith@...>

Good day,

41 messages 2008/02/05
[#15366] Re: Timeout::Error — Eric Hodel <drbrain@...7.net> 2008/02/06

On Feb 5, 2008, at 06:20 AM, Jeremy Thurgood wrote:

[#15370] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/06

Eric Hodel wrote:

[#15373] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/06

Hi,

[#15374] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/06

Nobuyoshi Nakada wrote:

[#15412] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/07

Hi,

[#15413] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/07

Nobuyoshi Nakada wrote:

[#15414] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/07

Hi,

[#15360] reopen: can't change access mode from "w+" to "w"? — Sam Ruby <rubys@...>

I ran 'rake test' on test/spec [1], using

16 messages 2008/02/05
[#15369] Re: reopen: can't change access mode from "w+" to "w"? — Nobuyoshi Nakada <nobu@...> 2008/02/06

Hi,

[#15389] STDIN encoding differs from default source file encoding — Dave Thomas <dave@...>

This seems strange:

21 messages 2008/02/06
[#15392] Re: STDIN encoding differs from default source file encoding — Yukihiro Matsumoto <matz@...> 2008/02/06

Hi,

[#15481] very bad character performance on ruby1.9 — "Eric Mahurin" <eric.mahurin@...>

I'd like to bring up the issue of how characters are represented in

16 messages 2008/02/10

[#15528] Test::Unit maintainer — Kouhei Sutou <kou@...>

Hi Nathaniel, Ryan,

22 messages 2008/02/13

[#15551] Proc#curry — ts <decoux@...>

21 messages 2008/02/14
[#15557] Re: [1.9] Proc#curry — David Flanagan <david@...> 2008/02/15

ts wrote:

[#15558] Re: [1.9] Proc#curry — Yukihiro Matsumoto <matz@...> 2008/02/15

Hi,

[#15560] Re: Proc#curry — Trans <transfire@...> 2008/02/15

[#15585] Ruby M17N meeting summary — Martin Duerst <duerst@...>

This is a rough translation of the Japanese meeting summary

19 messages 2008/02/18

[#15596] possible bug in regexp lexing — Ryan Davis <ryand-ruby@...>

current:

17 messages 2008/02/19

[#15678] Re: [ANN] MacRuby — "Rick DeNatale" <rick.denatale@...>

On 2/27/08, Laurent Sansonetti <laurent.sansonetti@gmail.com> wrote:

18 messages 2008/02/28
[#15679] Re: [ANN] MacRuby — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/02/28

On Thu, Feb 28, 2008 at 6:33 AM, Rick DeNatale <rick.denatale@gmail.com> wrote:

[#15680] Re: [ANN] MacRuby — Yukihiro Matsumoto <matz@...> 2008/02/28

Hi,

[#15683] Re: [ANN] MacRuby — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/02/28

On Thu, Feb 28, 2008 at 1:51 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

Re: very bad character performance on ruby1.9

From: "Eric Mahurin" <eric.mahurin@...>
Date: 2008-02-11 19:07:53 UTC
List: ruby-core #15507
On Feb 11, 2008 11:51 AM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

> Hi,
>
> In message "Re: very bad character performance on ruby1.9"
>    on Mon, 11 Feb 2008 03:33:54 +0900, "Eric Mahurin" <
> eric.mahurin@gmail.com> writes:
>
> |I'd like to bring up the issue of how characters are represented in
> |ruby 1.9from a performance standpoint.  In a recent ruby-quiz (parsing
> |JSON), the
> |fastest pure-ruby solution was simply an LL(1) parser that looked at one
> |character at a time (it beat various Regexp solutions).  With ruby 1.9,
> the
> |runtime increased by 4X making it a slow solution.  A simple benchmark is
> at
> |the end of this message that counts words in an LL(1) fashion.  With ruby
> |1.8.6, it can could the words in Homer's Iliad in 1.46s on my machine and
> in
> |ruby 1.9 (from ubuntu gutsy) it takes 52.87s (36X increase in runtime).
>
> I just checked in some performance tweaking.  The script run still
> slower (2.3 times), but much better than 36 times.  It is nice for two
> hour job.


This sounds much better.  Thank you, matz!

Am I correct in assuming that the remaining ruby 1.9 slowness relative to
ruby 1.8.6 is due to each character access creating a new object?  Might it
be possible to reuse "character" objects?   Making characters or short
immutable strings immediate would be ideal for this, but some type of lookup
of existing character objects could also be done.

Eric

In This Thread