我只是想收集一些一般信息,因为我希望提高 ActiveModelSerializers 的性能。
我以前也从未编写过本机扩展,但看过一些 C 扩展和 Rust 扩展。
我的问题:
- 这已经完成了吗?(在红宝石中编写水晶原生扩展?)
- 与红宝石物体/结构的相互作用如何在水晶中起作用?(这两种语言之间是否需要任何形式的编组或任何东西进行通信?)
我只是想收集一些一般信息,因为我希望提高 ActiveModelSerializers 的性能。
我以前也从未编写过本机扩展,但看过一些 C 扩展和 Rust 扩展。
我的问题:
由于 Ruby API 是用 C 编写的,因此应该可以为其创建 Crystal 绑定,然后在 Crystal 中编写 Ruby 扩展。
看看这个crystalyzed_ruby
项目,例如:
https ://github.com/phoffer/crystalized_ruby
这个问题现在可能已经被问了一百万次了。您可以尝试这样做,但请记住,Crystal 具有 GC,因此在 Crystal 中编写本机扩展确实没有多大意义。使用没有 GC 的 C 或 Rust。