[geos-devel] GEOS FFI Ruby bindings

J Smith dark.panda+lists at gmail.com
Fri Dec 3 01:06:26 EST 2010

On Fri, Dec 3, 2010 at 12:50 AM, Charlie Savage <cfis at savagexi.com> wrote:
>> Well, Charlie Savage planted the idea in my mind, so I'm currently in
>> the process of re-writing the GEOS bindings for Ruby in Ruby using
>> FFI.
> Very cool - but I think Sean deserves the credit...

Well, it was certainly a team effort at the very least, eh?

> Once you have something in reasonable shape, I'm happy to give it a try in
> our environment.
> Thanks for pushing this forward...

Things are looking good now. I'm basing the test suite largely off of
the PHP tests and at the moment I have 41 tests and 194 assertions
passing in both the original SWIG extension and via FFI.

The performance difference at the moment isn't overly noticeable
(0.012859 s for SWIG, 0.018612 s for FFI on the last run, not that
that means a lot) and things have yet to be optimized. The API is
mostly the same the same. I haven't run into anything that needed to
be removed except for the GEOS_JTS_PORT constant which doesn't appear
to be exported in the C API. I have added a couple of methods that
have been added to GEOS since the last SWIG modifications such as I
believe union_cascaded, though. and probably be able to add wrappers
for GEOSGeom_extractUniquePoints, GEOSHausdorffDistance,
GEOSHausdorffDistanceDensify, and GEOSSharedPaths before wrapping it
all up.

Anyways, it's coming along quite quickly now that I've got a groove
goin' on. Hopefully I'll be posting to github before the weekend is
out at this rate.


More information about the geos-devel mailing list