[#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-10 23:49:42 UTC
List: ruby-core #15493
On Feb 10, 2008 4:06 PM, Matthias W臘hter <matthias@waechter.wiz.at> wrote:

> Eric,
>
> Eric Mahurin schrieb:
> > I'd like to propose that at least ASCII characters in ruby 1.9 be made
> into
> > immediates:
> >
> > * at a minimum, characters should be read-only/frozen.  Allowing them to
> be
> > mutable will inhibit many future optimizations.
> > * give (small) characters a separate class with string-like (read-only)
> > functionality.
> > * possibly add a base class that String and this new character class
> would
> > be a descendent of.
> > * eventually make this small (i.e. ASCII or even unicode) character
> class
> > have immediate objects
>
> I would not limit it to ASCII characters but would directly go for
> Unicode. As the Unicode universe requires at most 21 bits for addressing
> any code point, we could easily make a separate class and immediate
> 4-bit lead specifier for it, f.e. 0xE, like 0xC is for object pointers,
> to fit any 32 bit integer.
>
> Has there been work or discussions on this topic before?
>
> - Matthias


I agree, making all (unicode) characters immediate would be ideal.  I wasn't
sure whether there was enough space in the object handle to encode it.

Another option that would achieve similar performance (but have higher
memory overhead) would be to have singleton character objects ready to be
referenced at anytime.  When a character is to be returned, it would lookup
the character object in some table (array or hash).  This way ?a, "abc"[0],
and StringIO.new("abc").getc would all refer to the same character object
(with a String-like API).  Querying characters wouldn't create any new
objects.

Still, the first thing that needs to be done before thinking about any of
these optimizations is to make character object immutable/read-only/frozen?

What would be the reason to allow character objects to be mutable in ruby
1.9?  They aren't in 1.8.6 because they are Fixnum's.  Allowing them to be
mutable just prevents future optimizations.

In This Thread