我目前正在为 ruby 编写一个 C 扩展,作为我项目的一部分。出于性能原因,扩展是为了实现我已经在 C 语言中使用 ruby 的算法。但我提出的问题是,我是否应该在 C 代码中使用 ruby 自己的数据类型,或者出于性能原因将它们转换为 C 的 native 类型?
这样的转换会产生巨大的差异吗?
提前致谢
帕特里克
最佳答案
原则上,您的 C 代码片段应该使用 C 数据结构来运行得更快。 它运行的速度有多快取决于数据结构将保存多少数据(以及 C 代码片段将通过它们多少次)。
数据传递的次数越多,您就越会注意到使用 native C 数据结构的性能改进。
关于c - Ruby C 扩展,使用 Ruby 数据类型还是 native C 来提高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1958900/