[#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 04:03:27 UTC
List: ruby-core #15497
On Feb 10, 2008 12:33 PM, Eric Mahurin <eric.mahurin@gmail.com> wrote:

> The problem of course is that every character in ruby 1.9 becomes a normal
> ruby object (String) in ruby 1.9, whereas in ruby 1.8 they where
> immediates (Fixnums).
>
> 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
>
> If the above was done, one of these immediate characters would be to a
> Fixnum as a frozen String would be to Bignum.  A possible base class of
> these would be in line with the Integer class.



Hi Matz,

Could you comment on these character-access performance issues in Ruby 1.9.
The last I've seen this discussed is in 2005:

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/4146

Are there any plans to address character-access performance issues to get
back to the 1.8 performance levels?

The minimum I ask is that methods returning characters return a frozen
String instead of a mutable String.  This will make it possible to do future
optimizations without affecting compatibility.

Ruby 1.9 code should also not make many assumptions about the "character"
objects returned from methods (represented as a String right now):
* the class might change in the future
* two #==, but independently generated character objects might be the same
object
* shouldn't modify these character objects

Thanks,

Eric

In This Thread