[ANN] event_hook 1.0.0 Released

R

Ryan Davis

event_hook version 1.0.0 has been released!

* <http://rubyforge.org/projects/seattlerb>

Wraps rb_add_event_hook so you can write fast ruby event hook
processors w/o the speed penalty that comes with set_trace_func (sooo
sloooow!). Calls back into ruby so you don't have to write C.

% ruby demo.rb
# of iterations = 1000000
user system total real
null_time 0.120000 0.000000 0.120000 ( 0.125279)
ruby time 0.560000 0.000000 0.560000 ( 0.562834)
event hook 3.160000 0.010000 3.170000 ( 3.175361)
set_trace_func 34.530000 0.100000 34.630000 ( 34.942785)

Changes:

### 1.0.0 / 2009-05-19

* 1 major enhancement

* Birthday!

* <http://rubyforge.org/projects/seattlerb>
 
R

Roger Pack

Wraps rb_add_event_hook so you can write fast ruby event hook
processors w/o the speed penalty that comes with set_trace_func (sooo
sloooow!). Calls back into ruby so you don't have to write C.

Wow thanks for doing this--anybody know why rb_add_event_hook is so much
faster then?

A drop in replacement for set_trace_func might be sweet, too :)

-=r
 
K

Kent Sibilev

Wow thanks for doing this--anybody know why rb_add_event_hook is so much
faster then?

A drop in replacement for set_trace_func might be sweet, too :)

set_trace_func requires creating a new Binding object for each event
triggered. In Ruby 1.8.x this is very very slow operation. Ruby 1.9.x
reuses these Binding objects as much as possible, which makes this
operation much faster and lead to a way more acceptable speed of
debug.rb.
 
R

Ryan Davis

Wow thanks for doing this--anybody know why rb_add_event_hook is so
much
faster then?

A drop in replacement for set_trace_func might be sweet, too :)

most of the cost is block activation.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,034
Messages
2,570,356
Members
47,002
Latest member
RobertoLip

Latest Threads

Top