[#58730] [ruby-trunk - misc #9188][Open] r43870 make benchmark/bm_so_k_nucleotide.rb slow — "authorNari (Narihiro Nakamura)" <authorNari@...>
17 messages
2013/12/01
[#58955] [ruby-trunk - misc #9188] r43870 make benchmark/bm_so_k_nucleotide.rb slow
— "tmm1 (Aman Gupta)" <ruby@...1.net>
2013/12/08
[#59494] Re: [ruby-trunk - misc #9188] r43870 make benchmark/bm_so_k_nucleotide.rb slow
— Eric Wong <normalperson@...>
2014/01/03
Btw, I took some time to work on this further. Only _very_ lightly
[#59574] Re: [ruby-trunk - misc #9188] r43870 make benchmark/bm_so_k_nucleotide.rb slow
— SASADA Koichi <ko1@...>
2014/01/06
(2014/01/03 12:49), Eric Wong wrote:
[#59575] Re: [ruby-trunk - misc #9188] r43870 make benchmark/bm_so_k_nucleotide.rb slow
— Eric Wong <normalperson@...>
2014/01/06
SASADA Koichi <ko1@atdot.net> wrote:
[#59578] Re: [ruby-trunk - misc #9188] r43870 make benchmark/bm_so_k_nucleotide.rb slow
— SASADA Koichi <ko1@...>
2014/01/06
(2014/01/06 15:49), Eric Wong wrote:
[#58797] [ruby-trunk - Bug #9198][Open] Segfault in TestException#test_machine_stackoverflow — "vo.x (Vit Ondruch)" <v.ondruch@...>
11 messages
2013/12/02
[#58809] [ruby-trunk - Bug #9202][Assigned] Array#uniq freezes duplicate strings — "drbrain (Eric Hodel)" <drbrain@...7.net>
7 messages
2013/12/03
[#58810] [ruby-trunk - Bug #9202] Array#uniq freezes duplicate strings
— "drbrain (Eric Hodel)" <drbrain@...7.net>
2013/12/03
[#58817] [ANN] Developer Meeting Moved to 2013-12-05 — Zachary Scott <e@...>
Greetings!
4 messages
2013/12/03
[#58866] [ruby-trunk - misc #9215][Open] Maintenance Policy for Future Releases (2.1.0 & beyond) — "hone (Terence Lee)" <hone02@...>
17 messages
2013/12/05
[#58914] [ruby-trunk - Bug #9223][Open] Hash#reject!.size does not reflect changes to the hash — "dmarcotte (Daniel Marcotte)" <dmarcotte@...>
9 messages
2013/12/06
[#59095] [ruby-trunk - Bug #9248][Open] Struct methods, segmentation fault — "Soilent (H H)" <konstantin@...>
9 messages
2013/12/13
[#59110] [ruby-trunk - Bug #9249][Open] Ruby incorrectly inspects opaque libc jmp_buf for pointers to heap during GC. — "carlos@... (Carlos O'Donell)" <carlos@...>
8 messages
2013/12/14
[#59122] [ruby-trunk - Bug #9251][Open] ! operator has lower precedence than = in an assignment expression — "rits (First Last)" <redmine@...>
26 messages
2013/12/15
[#59198] [ruby-trunk - Bug #9262][Open] global_method_cache should be configurable or grow automatically — "tmm1 (Aman Gupta)" <ruby@...1.net>
28 messages
2013/12/19
[#59518] [ruby-trunk - Bug #9262] global_method_cache should be configurable or grow automatically
— "sam.saffron (Sam Saffron)" <sam.saffron@...>
2014/01/03
[#60145] [ruby-trunk - Bug #9262] global_method_cache should be configurable or grow automatically
— normalperson@...
2014/01/27
Issue #9262 has been updated by Eric Wong.
[#61218] [ruby-trunk - Bug #9262] global_method_cache should be configurable or grow automatically
— nobu@...
2014/03/02
Issue #9262 has been updated by Nobuyoshi Nakada.
[#59209] [ruby-trunk - Bug #9264][Open] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — "spastorino (Santiago Pastorino)" <santiago@...>
15 messages
2013/12/19
[#59211] [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— "zzak (Zachary Scott)" <e@...>
2013/12/19
[#59212] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— Santiago Pastorino <spastorino@...>
2013/12/19
zzak, make distclean is the first thing I've ran. Read the gist again :),
[#59213] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— Zachary Scott <e@...>
2013/12/19
Sorry I missed the gist, can you try building outside of $srcdir?
[#59214] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— Santiago Pastorino <spastorino@...>
2013/12/19
It works if I do ...
[#59215] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— Zachary Scott <e@...>
2013/12/19
I've been using the following:
[#59216] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— Santiago Pastorino <spastorino@...>
2013/12/20
It works but I'm missing to link against homebrew's gdbm, libyaml and
[#59218] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64
— Santiago Pastorino <spastorino@...>
2013/12/20
Now I did ...
[#59222] [ruby-trunk - Bug #9266][Open] dead links to rubyforge — "znz (Kazuhiro NISHIYAMA)" <redmine@...>
7 messages
2013/12/20
[#59260] [ruby-trunk - Feature #9278][Open] Magic comment "immutable: string" makes "literal".freeze the default for that file — "colindkelley (Colin Kelley)" <colin@...>
12 messages
2013/12/22
[#59306] [ruby-trunk - Bug #9295][Open] `Exception#backtrace_locations` returns `nil` — "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>
4 messages
2013/12/24
[#59312] [ANN] Ruby 2.1.0 is released — "NARUSE, Yui" <naruse@...>
Hi,
6 messages
2013/12/25
[#59326] Re: [ANN] Ruby 2.1.0 is released
— Rodrigo Rosenfeld Rosas <rr.rosas@...>
2013/12/26
I can't compile it on Debian sid (using RVM):
[#59316] [ruby-trunk - Bug #9300][Open] YAML Regression Concerning Escaping of Strings — "schneems (Richard Schneeman)" <richard.schneeman@...>
9 messages
2013/12/25
[#59359] BigDecimal division in Ruby 2.1 — Andre Bernardes <abernardes@...>
Hi there,
5 messages
2013/12/28
[#59398] [ruby-trunk - Bug #9321][Open] rb_mod_const_missing does not generate a c-return event — "drkaes (Stefan Kaes)" <stkaes@...>
41 messages
2013/12/30
[#59470] [ruby-trunk - Bug #9321] rb_mod_const_missing does not generate a c-return event
— "drkaes (Stefan Kaes)" <stkaes@...>
2014/01/02
[#59408] [ruby-trunk - Feature #9323][Open] IO#writev — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
11 messages
2013/12/30
[#59429] [ruby-trunk - Feature #9330][Open] [PATCH 0/3] avoid redundant fcntl/fstat syscalls for cloexec sockets — "normalperson (Eric Wong)" <normalperson@...>
10 messages
2013/12/31
[#59857] [ruby-trunk - Feature #9330] [PATCH 0/3] avoid redundant fcntl/fstat syscalls for cloexec sockets
— akr@...
2014/01/18
Issue #9330 has been updated by Akira Tanaka.
[ruby-core:58977] [ruby-trunk - Feature #8977][Assigned] String#frozen that takes advantage of the deduping
From:
"tmm1 (Aman Gupta)" <ruby@...1.net>
Date:
2013-12-08 22:08:18 UTC
List:
ruby-core #58977
Issue #8977 has been updated by tmm1 (Aman Gupta).
Status changed from Open to Assigned
Assignee set to matz (Yukihiro Matsumoto)
I just made some more arguments for this feature in #9229.
The goal here is to provide runtime access to the frozen string literal table.
This is not a new idea. For instance, see String.Intern in .NET: http://msdn.microsoft.com/en-us/library/system.string.intern(v=vs.110).aspx
@samsaffron also made a good point above: older versions and other implementations of ruby can easily provide their own implementations of String#frozen:
> It also could be implemented using weak refs in 2.0 and stubbed with a .dup.freeze in 1.9.3 .
@ko1 also agrees with the feature above:
> I can accept the way to get the string which we can get "foo"f dynamically.
So the remaining question (as always) is a naming issue.
I like String#frozen, but maybe there is some argument that it can be confused with #freeze.
@matz Do you approve of String#frozen, or do you have some other preference? Other proposals are:
String#dedup
String#pooled
String::frozen(str)
----------------------------------------
Feature #8977: String#frozen that takes advantage of the deduping
https://bugs.ruby-lang.org/issues/8977#change-43529
Author: sam.saffron (Sam Saffron)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category:
Target version: current: 2.1.0
During memory profiling I noticed that a large amount of string duplication is generated from non pre-determined strings.
Take this report for example https://gist.github.com/SamSaffron/6789005 (generated using the memory_profiler gem that works against head)
">=" x 4953
/Users/sam/.rbenv/versions/2.1.0-dev/lib/ruby/2.1.0/rubygems/requirement.rb:93 x 4535
This string is most likely extracted from a version.
Or
"/Users/sam/.rbenv/versions/2.1.0-dev/lib/ruby/gems" x 5808
/Users/sam/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.1.0/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251 x 3894
A string that can not be pre-determined.
----
It would be nice to have
"hello,world".split(",")[0].frozen.object_id == "hello"f.object_id
Adding #frozen will give library builders a way of using the de-duping. It also could be implemented using weak refs in 2.0 and stubbed with a .dup.freeze in 1.9.3 .
Thoughts ?
--
http://bugs.ruby-lang.org/