Skip to content

Instantly share code, notes, and snippets.

View methodmissing's full-sized avatar

Lourens Naudé methodmissing

View GitHub Profile
_dispatch_table.8309:
.quad L2577
.quad L2577
.quad L2577
.quad L2069
.quad L1568
.quad L1595
.quad L1647
.quad L1609
.quad L1588
require "benchmark"
$:.unshift "."
HASH = { :d => :d, 'e' => :e, 2 => 2 }
TESTS = 100_000
Benchmark.bmbm do |results|
results.report("Hash#[:sym]") { TESTS.times { HASH[:d] } }
results.report("Hash#[:str]") { TESTS.times { HASH['e'] } }
results.report("Hash#[:fix]") { TESTS.times { HASH[2] } }
methodmissing:ruby lourens$ gdb miniruby
GNU gdb 6.3.50-20050815 (Apple version gdb-1344) (Fri Jul 3 01:19:56 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
#41 0x0000000100039568 in rb_protect (proc=0x100002160 <require_enc>, data=4303907720, state=0x0) at eval.c:688
#42 0x0000000100002a0a in load_encoding (name=0x100177c95 "UTF8-MAC") at encoding.c:522
#43 0x0000000100003388 in rb_enc_find_index (name=0x100177c95 "UTF8-MAC") at encoding.c:562
#44 0x00000001000034de in rb_enc_find (name=<value temporarily unavailable, due to optimizations>) at encoding.c:582
#45 0x000000010004292b in file_path_convert (name=4303907760) at file.c:114
methodmissing:ruby lourens$ sudo dtrace -ln 'ruby*:::'
ID PROVIDER MODULE FUNCTION NAME
20534 ruby46744 ruby rb_thread_call_with_gvl gvm_lock_begin-location
20535 ruby46744 ruby do_select gvm_lock_begin-location
20536 ruby46744 ruby rb_thread_blocking_region gvm_lock_begin-location
20537 ruby46744 ruby rb_thread_blocking_region_begin gvm_lock_begin-location
20538 ruby46744 ruby rb_thread_call_with_gvl gvm_lock_end-location
20539 ruby46744 ruby rb_thread_blocking_region_end gvm_lock_end-location
20540 ruby46744 ruby do_select gvm_lock_end-location
20541 ruby46744 ruby rb_thread_blocking_region gvm_lock_end-location
methodmissing:ruby lourens$ git diff --patch-with-stat github/trunk..HEAD
gc.c | 1 +
hash.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++-
include/ruby/ruby.h | 2 +
test/ruby/test_hash.rb | 36 ++++++++++++++++++++++++
4 files changed, 107 insertions(+), 2 deletions(-)
diff --git a/gc.c b/gc.c
index 7711101..55cdb85 100644
--- a/gc.c
diff --git a/hash.c b/hash.c
index ef8b9a8..bd60d5a 100644
--- a/hash.c
+++ b/hash.c
@@ -33,8 +33,7 @@ rb_hash_freeze(VALUE hash)
VALUE rb_cHash;
static VALUE envtbl;
-static ID id_hash, id_yield, id_default;
-
E, [2009-11-01T17:39:41.233824 #13360] ERROR -- : recieved ConnectionUnbound for an unknown signature: 25101 (EventMachine::ConnectionNotBound)
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:1425:in `event_callback'
/usr/local/lib/ruby/gems/1.9.1/gems/amqp-0.6.4/lib/ext/em.rb:28:in `release_machine'
/usr/local/lib/ruby/gems/1.9.1/gems/amqp-0.6.4/lib/ext/em.rb:28:in `ensure in run'
/usr/local/lib/ruby/gems/1.9.1/gems/amqp-0.6.4/lib/ext/em.rb:29:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/amqp-0.6.4/lib/amqp.rb:84:in `start'
top - 17:43:34 up 23 days, 2:20, 3 users, load average: 7.29, 11.50, 12.71
Tasks: 129 total, 2 running, 127 sleeping, 0 stopped, 0 zombie
Cpu0 : 23.9%us, 8.1%sy, 0.0%ni, 57.6%id, 8.1%wa, 0.0%hi, 2.3%si, 0.0%st
Cpu1 : 25.9%us, 9.8%sy, 0.0%ni, 40.3%id, 22.0%wa, 0.0%hi, 2.0%si, 0.0%st
Cpu2 : 24.0%us, 8.9%sy, 0.0%ni, 33.9%id, 30.6%wa, 0.0%hi, 2.6%si, 0.0%st
Cpu3 : 27.1%us, 12.3%sy, 0.0%ni, 49.7%id, 7.4%wa, 0.3%hi, 3.2%si, 0.0%st
Mem: 6108944k total, 6037584k used, 71360k free, 87508k buffers
Swap: 2000052k total, 253104k used, 1746948k free, 3457004k cached
methodmissing:ruby lourens$ ./miniruby -Ilib -rtest/unit test/ruby/test_hash.rb
Loaded suite test/ruby/test_hash
Started
.....E..................................................................EF.......F.....F...
Finished in 0.019967 seconds.
1) Error:
test_callcc(TestHash):
NoMethodError: undefined method `callcc' for #<TestHash:0x0000010101e9e0>
test/ruby/test_hash.rb:818:in `block in test_callcc'
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1023.60 14.40 11988.80 72 59944