2017-07-19 77 views
1

我想快速計算Ruby中兩個64位整數之間的漢明距離。我很快發現,即使使用Ruby的優化字符串函數等,也不夠,所以我轉而使用C擴展。相比之下,Pure Ruby以每秒約350,000次比較爲基準,C延伸基準約爲4,000,000次。有沒有支持在Heroku上使用C來擴展Ruby?

我使用了實現here並將其編譯在我的電腦上,它工作正常。我遇到的問題是在Heroku上使用它。我嘗試了ruby extconf.rb make來創建makefile,然後make來編譯它,其中make: gcc: Command not found失敗。如果我在部署或不部署時執行此操作並不重要,但我不知道如何在部署時自動運行代碼。這讓我煩惱 - 如果有人能夠幫助它,我們將非常感激。

+0

通常的方式做,這將是創建一個包含C擴展,當它在部署期間所安裝的將被編譯的瑰寶。 – matt

回答

3

您可以使用Heroku的Buildpacks解決這個https://blog.heroku.com/buildpacks

我與這需要C擴展工作,並通過使用正確的buildpack解決它的語言學家寶石一些工作。

您可以使用預置的buildpack或建立自己的

+1

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/16764489) –

+0

我編輯了評論以包含更多說明以防鏈接改變 –