Ruby 原生扩展开发指北

选题

这个题目是我在 RubySummit China 2018 上的演讲题目。当时时间也比较紧,没有讲得特别深入;听众感觉大多数都还没有做过相关的开发,当场反馈也不是很好。回来后读了几篇新媒体稿件,把我读傻了。一路下来的感觉就是:

我不是,我没有,我没讲过,我不是这个意思。

既然如此,我也借此机会重新整理了一下。希望给听到或没有听到的各位重新梳理一下我对 Ruby 原生扩展开发的看法和建议。

我从郑州东站出来后,打车去的会场。专车司机打电话给我用河南话一个劲地说:「在停车场 西南角 西南角!」虽然河南话属于中原官话,听起来没困难,但关键是我根本分不清哪里是西南角,找了整整十五分钟才找到车。

写 Ruby 的原生扩展也是如此。

当你灵光乍现,感觉是不是应该写一个 Ruby 原生扩展的时候,脑海中可能会浮现如下的想法:

  • 写原生扩展能解决我的问题吗?
  • 怎么写原生扩展?
  • 我该选型哪一种原生扩展的开发方式?

而我希望通过接下来的内容,在大家想到原生扩展时能打消掉上述的顾虑,清晰的知道自己要什么?怎么做。

性能

说到用开发 Ruby 的原生扩展,第一个反应就是提升性能。我们能提升多少性能?

(待续)