Professional Documents
Culture Documents
Jeremy Hinegardner
jeremy@copiousfreetime.org
twitter: copiousfreetime
The Goal :
libfoo.so
FFI
libfoo.so
R u
libfoo_bar()
FFI
libfoo.so
ruby-foo C extension
libfoo.so
ruby-foo C extension
libfoo.so
libfoo.so
libfoo.so
libfoo.so
libfoo.so
14 simple_metrics* simple_metrics_new();
15 void simple_metrics_free( simple_metrics* sm );
16 void simple_metrics_update( simple_metrics* sm, double value );
17 double simple_metrics_mean( simple_metrics* sm );
18 double simple_metrics_min( simple_metrics* sm );
19 double simple_metrics_max( simple_metrics* sm );
20 double simple_metrics_sum( simple_metrics* sm );
21 long simple_metrics_count( simple_metrics* sm );
22 double simple_metrics_stddev( simple_metrics* sm );
23 double simple_metrics_rate( simple_metrics* sm );
1 Million update()
1.16 sec 0.42 sec
calls
Nokogiri Ruby-SDL-FFI
ffi-wiiuse
ffi-life ffi-opencl rufus-tokyo
ffi-inliner
Rubygame
Ruby-GIR-FFI
Gnu Linear Programming Toolkit NiceFFI
• http://github.com/ffi/ffi
• http://wmeissner.blogspot.com/
• http://groups.google.com/group/ruby-ffi