[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28500] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer

From: Yusuke ENDOH <mame@...>
Date: 2010-03-05 08:20:03 UTC
List: ruby-core #28500
Hi,

2010/3/5 Hugh Sasse <hgs@dmu.ac.uk>:
>> At first glance, the document explains the difference of destructive
>> and non-destructive concatenations, like String#+ and #<<.
>>
>> It is absolutely different topic from pre-allocation.
>
> It is related: the algorithm constructs large strings from smaller
> ones in an elegant way using a "tower of Hanoi", and if the top
> string concatenation gets bigger than the one below it, only then
> are they joined together.  Result is less copying and merging.


Ah, sorry.  I had to read all more carefully.

The algorithm itself is interesting, but I understand it is
just workaround to implement efficient string buffer by using
*immutable* strings (because Lua String seems always immutable).

But Ruby String is mutable.  Is it also more efficient with
*mutable* string than current direct concatenation?  I wonder
if the algorithm needs more memcpy than the current.

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread