3

我只是想收集一些一般信息,因为我希望提高 ActiveModelSerializers 的性能。

我以前也从未编写过本机扩展,但看过一些 C 扩展和 Rust 扩展。

我的问题:

  • 这已经完成了吗?(在红宝石中编写水晶原生扩展?)
  • 与红宝石物体/结构的相互作用如何在水晶中起作用?(这两种语言之间是否需要任何形式的编组或任何东西进行通信?)
4

2 回答 2

2

由于 Ruby API 是用 C 编写的,因此应该可以为其创建 Crystal 绑定,然后在 Crystal 中编写 Ruby 扩展。

看看这个crystalyzed_ruby项目,例如: https ://github.com/phoffer/crystalized_ruby

于 2016-09-13T16:11:21.040 回答
1

这个问题现在可能已经被问了一百万次了。您可以尝试这样做,但请记住,Crystal 具有 GC,因此在 Crystal 中编写本机扩展确实没有多大意义。使用没有 GC 的 C 或 Rust。

于 2016-09-12T19:42:49.210 回答