[#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:28491] [Feature #905] Add String.new(fixnum) to preallocate large buffer

From: Kurt Stephens <redmine@...>
Date: 2010-03-05 00:13:00 UTC
List: ruby-core #28491
Issue #905 has been updated by Kurt  Stephens.


+1

Preallocation of String would be immensely useful in large ERB templates.

So much so, I was looking to patching into rb_str_resize(str, len) with a method, to get around related performance issues.  Ruby Strings already support the difference between the string length and the allocated buffer size -- we need to expose it and ensure that Strings do not automatically "shrink" the internal String buffers.  There should probably be a method to explicitly shrink the internal buffer, if needed.

From what I can tell string growth is roughly O(log2 N) because of the power-of-2 buffer resizing.   For large buffers making this O(1) for large strings helps performance and reduces malloc() memory fragmentation.



----------------------------------------
http://redmine.ruby-lang.org/issues/show/905

----------------------------------------
http://redmine.ruby-lang.org

In This Thread