MountainWest RubyConf 2009: FFI
MRI, JRuby, Rubinius and other ruby implementations. What is an extension developer to do? One for each? Enter Foreign Function Invocation. Rubinius and JRuby ship with a version of libffi, and the ‘ffi’ rubygem for MRI. Now we, as extension developers, can write an extension once, and have it run on multiple ruby engines.
We will look at differences between building a tradition MRI ruby extension, and building an extension targeting FFI. We will look at the development effort and performance differences between traditional and FFI extensions, and what, if any compatibility issues there are between ruby engines around FFI.
Jeremy Hinegardner lives in Boulder, CO and has been programming Ruby since 2001. He writes weird corner case gems such as crate, heel, amalgalite, hitimes and a few others. Jeremy also contributes to the Fedora/EPEL community by packaging nginx, HAProxy, beanstalkd and a few other applications.
He works for Collective Intellect writing Ruby applications converting social media data into market intelligence, and in his copious free time plays at being a nature photographer, tweets @copiousfreetime, and especially enjoys being one of 3 Jeremy’s speaking at Mountain West.
Author: Jeremy Hinegardner