我试图快速计算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
。如果我在部署时这样做,对我来说无关紧要,但我不知道如何在部署时自动运行代码。这让我感到烦恼 - 如果有人能提供帮助,我将不胜感激。
答案 0 :(得分:3)
您可以使用Heroku Buildpacks来解决此https://blog.heroku.com/buildpacks
我在语言学家宝石上做了一些工作,需要使用C扩展才能工作,并使用正确的buildpack解决它。
您可以使用预构建的buildpack或构建自己的