[Pharo-project] FFI versus Aloen
Do you mean Alien? Alien is newer and was written to address some shortcomings in FFI. Chris http://wiki.squeak.org/squeak/6100 http://www.squeaksource.com/Alien/ http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/023328.html http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148455.htm...
On 2011-Jun-9, at 17:47 , Chris Cunnington wrote:
Do you mean Alien?
Yes Alien....damned thumb keyboards....
Alien is newer and was written to address some shortcomings in FFI.
What shortcomings?
http://wiki.squeak.org/squeak/6100 http://www.squeaksource.com/Alien/ http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/023328.html http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148455.htm...
I followed those threads, but they don't really say why. NativeBoost is faster than FFI, but NB is a whole other ball-of-wax, and I'd like to support it eventually as well as FFI/Alien. Thanks ../Dave
right now, you should use FFI Eliot is implementing a new FFI implementation, with callbacks and threads, and that should be the better option in the near future. Cheers, Esteban El 10/06/2011, a las 12:23a.m., Dave Mason escribió:
On 2011-Jun-9, at 17:47 , Chris Cunnington wrote:
Do you mean Alien?
Yes Alien....damned thumb keyboards....
Alien is newer and was written to address some shortcomings in FFI.
What shortcomings?
http://wiki.squeak.org/squeak/6100 http://www.squeaksource.com/Alien/ http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/023328.html http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148455.htm...
I followed those threads, but they don't really say why. NativeBoost is faster than FFI, but NB is a whole other ball-of-wax, and I'd like to support it eventually as well as FFI/Alien.
Thanks ../Dave
I think that Alien vs. FFI has more to do with historic reasons than anything else. If I'm right, the original FFI implementation had some problems, like not being reentrant, and therefore not supporting callbacks among other things (someone correct me if wrong). Alien came to solve some of these limitations, but hen FFI was improved and made reentrant, and now both implementations do more or less the same. NativeBoost on the other hand is more like a model of machine instructions, so that you can assemble them. One particular use is to implement the C calling convention, getting a 100% smalltalk FFI. Eliot and Igor will probably be able enlighten us better. Regards, Javier. On Fri, Jun 10, 2011 at 12:23 AM, Dave Mason <dmason@mason-rose.ca> wrote:
On 2011-Jun-9, at 17:47 , Chris Cunnington wrote:
Do you mean Alien?
Yes Alien....damned thumb keyboards....
Alien is newer and was written to address some shortcomings in FFI.
What shortcomings?
http://wiki.squeak.org/squeak/6100
http://www.squeaksource.com/Alien/
http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/023328.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148455.htm...
I followed those threads, but they don't really say why. NativeBoost is faster than FFI, but NB is a whole other ball-of-wax, and I'd like to support it eventually as well as FFI/Alien.
Thanks ../Dave
-- Javier Pimás Ciudad de Buenos Aires
On 10 June 2011 06:50, Javier Pimás <elpochodelagente@gmail.com> wrote:
I think that Alien vs. FFI has more to do with historic reasons than anything else. If I'm right, the original FFI implementation had some problems, like not being reentrant, and therefore not supporting callbacks among other things (someone correct me if wrong). Alien came to solve some of these limitations, but hen FFI was improved and made reentrant, and now both implementations do more or less the same. NativeBoost on the other hand is more like a model of machine instructions, so that you can assemble them. One particular use is to implement the C calling convention, getting a 100% smalltalk FFI.
Eliot and Igor will probably be able enlighten us better.
Yes, you are right. NativeBoost actually more than just FFI , it is an API for generating native code at run time. FFI implementation is just one of a many use cases of it :) In contrast to C implementation, which comes as precompiled binary library, a NativeBoost code sits in image. So, if there are bug or missing feature you can fix it right there, without need to recompile VM. IMO, this is most important advantage comparing to statically compiled C code. Concerning Alien and FFI: FFI is faster, but Alien is more flexible. So.. it is hard to say, which one i would recommend to use (apart from NativeBoost ;) I think that both are quite ok.
Regards, Â Â Â Â Â Â Javier.
-- Best regards, Igor Stasenko AKA sig.
Em 10-06-2011 00:23, Dave Mason escreveu:
On 2011-Jun-9, at 17:47 , Chris Cunnington wrote:
Do you mean Alien?
Yes Alien....damned thumb keyboards....
Alien is newer and was written to address some shortcomings in FFI.
What shortcomings?
http://wiki.squeak.org/squeak/6100 http://www.squeaksource.com/Alien/ http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/023328.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148455.htm...
I followed those threads, but they don't really say why. NativeBoost is faster than FFI, but NB is a whole other ball-of-wax, and I'd like to support it eventually as well as FFI/Alien.
Oh... and it seems that Alien only works properly in Apple OS X... that's a huge limitation for people developing in other platforms (Linux/Windows). CdAB
Thanks ../Dave
On Fri, Jun 10, 2011 at 8:25 AM, Casimiro de Almeida Barreto < casimiro.barreto@gmail.com> wrote:
Em 10-06-2011 00:23, Dave Mason escreveu:
On 2011-Jun-9, at 17:47 , Chris Cunnington wrote:
Do you mean Alien?
Yes Alien....damned thumb keyboards....
Alien is newer and was written to address some shortcomings in FFI.
What shortcomings?
http://wiki.squeak.org/squeak/6100 http://www.squeaksource.com/Alien/
http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/023328.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148455.htm...
I followed those threads, but they don't really say why. NativeBoost is faster than FFI, but NB is a whole other ball-of-wax, and I'd like to support it eventually as well as FFI/Alien. Oh... and it seems that Alien only works properly in Apple OS X... that's a huge limitation for people developing in other platforms (Linux/Windows).
? Alien works fine on the three x86 platforms Squeak VMs run on, Mac OS, Windows and linux.
CdAB
Thanks ../Dave
participants (7)
-
Casimiro de Almeida Barreto -
Chris Cunnington -
Dave Mason -
Eliot Miranda -
Esteban Lorenzano -
Igor Stasenko -
Javier Pimás