有没有支持在Heroku上使用C扩展Ruby?

时间:2017-07-19 17:20:23

标签: ruby-on-rails c ruby heroku

我试图快速计算Ruby中两个64位整数之间的汉明距离。我很快发现,即使使用Ruby优化的字符串函数等,它也不够,所以我转向C扩展。相比之下,Pure Ruby基准测试每秒约350,000次比较,C扩展基准测试约为4,000,000。

我使用了实现here并在我的计算机上编译它,它工作正常。我遇到的问题是在Heroku上使用它。我尝试ruby extconf.rb make创建生效的makefile,然后make编译失败的make: gcc: Command not found。如果我在部署时这样做,对我来说无关紧要,但我不知道如何在部署时自动运行代码。这让我感到烦恼 - 如果有人能提供帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

您可以使用Heroku Buildpacks来解决此https://blog.heroku.com/buildpacks

我在语言学家宝石上做了一些工作,需要使用C扩展才能工作,并使用正确的buildpack解决它。

您可以使用预构建的buildpack或构建自己的