红宝石中ffi和mri c扩展之间的权衡是什么?

时间:2010-09-08 17:05:46

标签: ruby ffi

红宝石中的ffi和mri c扩展之间有什么权衡?

2 个答案:

答案 0 :(得分:5)

一个显而易见的权衡是MRI C扩展仅适用于MRI,而FFI扩展目前适用于MRI,YARV,Rubinius和JRuby,并且将来可能也适用于IronRuby,MagLev,MacRuby,SmallRuby,tinyrb和RubyGoLightly。

答案 1 :(得分:3)

对于方法调用调用,

ffi更慢。此外,ffi不能使用任何“本机C”代码,除非您将其与编译结合使用,例如使用ffi-inliner。

ffi对VM的友好程度要高得多。