[#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:59119] Naming issue about ObjectSpace.trace_object_allocation.
From:
SASADA Koichi <ko1@...>
Date:
2013-12-15 04:24:04 UTC
List:
ruby-core #59119
Let me ask the method naming issue.
* ObjectSpace.allocation_sourcefile
* ObjectSpace.allocation_sourceline
* ObjectSpace.allocation_class_path
* ObjectSpace.allocation_method_id
* ObjectSpace.allocation_generation
I wroet an article about ObjectSpace.trace_object_allocation in Japanese
http://www.atdot.net/~ko1/diary/201312.html#d6
and I tried to translate it into English (the end of this mail).
Kou gave me a comment that:
"I feel strange about the method name `sourcefile' and `sourceline',
because it is not `source_file' and `source_line'".
Another gave me a comment that:
"Why not `allocated_xxx' instead of `allocation_xxx'?"
Give me your comments.
* The name of sourcefile and sorceline are based on "rb_sourcefile" and
"rb_sourceline".
* The name of "allocation" is from "trace_object_allocations" (I want to
use same word `allocation').
Thanks,
Koichi
# bike shed party
----
From Ruby 2.1, we can store object allocation related information with
ObjectSpace.trace_object_allocations.
Currently, this feature supports to store the following information
about "where/when".
* Where
* file name
* line nmber
* class name (representing String)
* method id
* When
* GC generation
(This is not about "Genrational GC". It is GC.count at allocation)
See the code:
####
require 'objspace'
def where_are_you_from? obj
file = ObjectSpace.allocation_sourcefile(obj)
line = ObjectSpace.allocation_sourceline(obj)
"#{file}:#{line}" if file && line
end
ObjectSpace.trace_object_allocations{
$a = a = Object.new # created at t.rb:10
b = Object.new # created at t.rb:11
p where_are_you_from?(a) #=> "t.rb:10"
p where_are_you_from?(b) #=> "t.rb:11"
}
c = Object.new # created at t.rb:16
p where_are_you_from?($a) #=> "t.rb:10"
p where_are_you_from?(c) #=> nil
ObjectSpace.trace_object_allocations_clear
p where_are_you_from?($a) #=> nil
####
This code generate a ($a) and b objects in block passed to
ObjectSpace.trace_object_allocations.
You can know file name and line nubmer using `where_are_you_from?()'
method with a returning string such as "t.rb:10".
When you exit the block, object allocation information is not stored.
This is why we can't see the information of the object `c' (simply
return nil).
Exiting the block, you can see the information about $a, because
allocation information are still remained.
To clear all allocation tracing information, you can use
`ObjectSpace.trace_object_allocations_clear'. After calling this method,
you can't see the information about $a. If you can understand allocation
information is no longer needed, you can call this method.
Information can be ask via the following methods:
* Where
* file name -> ObjectSpace.allocation_sourcefile
* line nmber -> ObjectSpace.allocation_sourceline
* class name (representing String) ->
ObjectSpace.allocation_class_path
* method id -> ObjectSpace.allocation_method_id
* When
* GC generation -> ObjectSpace.allocation_generation
Note that ObjectSpace.trace_object_allocations enables to store
information during given block. We have other methods: start tracing
with ObjectSpace.trace_object_allocations_start, and stop tracing with
ObjectSpace.trace_object_allocations_stop.
Therefore, ObjectSpace.trace_object_allocations can be defined as the
following code:
def ObjectSpace.trace_object_allocations
begin
ObjectSpace.trace_object_allocations_start
yield
ensure
ObjectSpace.trace_object_allocations_stop
end
end
It is very convinient feature. However, it has disadvantage that the
performance of object creation and freeing are very slow. You can use
this feature for debugging and profiling.
There is another important point. This feature is, in fact, the sample
code of using new internal TracePoint API. You can make similar feature
using this internal TracePoint API.
----
--
// SASADA Koichi at atdot dot net