Jeremy Hinegardner
9/23/2008 2:49:00 PM
Hi,
On Tue, Sep 23, 2008 at 06:59:06PM +0900, Matthew B Gardner wrote:
> Hello --
> I was wondering if there's a way to separate multiple C-extension classes
> into separate files but still be able to directly call functions (C-style
> calls)? I currently have a bunch of classes in one file for the performance
> boost of direct calls over ruby function calls (not Ruby-ish, I know, but the
> boost was significant), but the sloppiness isn't very appealing, especially
> as the file continues to grow. Hopefully there's a solution that will allow
> me to separate the classes without hindering performance?
I think we'll probably need some clarification. Do you have 1
extensions that you want to start separating out into multiple .c files?
This is easily done. Just put them all in separate .c files and in the
top level Init_myextname() function call other initialization functions.
I do this in Amalgalite, and I started using this approach after I saw
how the extensions were built for 'rev'. Take a look at those two gems
and see if how their extensions are built help you out.
enjoy,
-jeremy
--
========================================================================
Jeremy Hinegardner jeremy@hinegardner.org