Ruby拡張ライブラリをGoで実装! 資産活用へのアプローチ #rubykaigi 2015 #rubykaigiA
#rubykaigi If you like good Belgian 🍫, I have some with me. Come say hello and have one 😁
2015-12-12 14:58:18文字列の扱いはGoとCの間でのやり取りには気を使う必要があって、相互変換関数が提供されている。Rubyから使うのはffiやfiddleが変換してくれるので特に気にせず呼び出せる。 #rubykaigi #rubykaigiA
2015-12-12 15:00:33使うだけなら簡単だけど、ローレベルでの効率考えると頑張らないといけないって話がいろいろされている。うーん、このレベルの最適化を自力でしないといけないのはしんどそうやな… #rubykaigi #rubykaigiA
2015-12-12 15:07:36GoでRuby拡張を書く話聞いてる、Cを介してGoとRubyでやりとりするのおもしろい #rubykaigi #rubykaigiA
2015-12-12 15:07:57RubyのStringからGoのStringへの変換をナイーブに行うと、2回コピーが走ってしまう #rubykaigi #rubykaigiA
2015-12-12 15:11:05うーん、最初はGoとの連携面白いなぁと思ってたけど、話が進むにつれて辛そうさしかなくなってきた… これ頑張るなら素直にCを書いたほうが楽なのでは… #rubykaigi #rubykaigiA
2015-12-12 15:11:08これかな #rubykaigi #rubykaigiA / golang で string を []byte にキャストしてもメモリコピーが走らない方法を考えてみる by @mattn_jp on @Qiita qiita.com/mattn/items/17…
2015-12-12 15:11:38「GoのString」「CのString」「RubyのString」考えること多いなあ #rubykaigi #rubykaigiA
2015-12-12 15:11:49Go→Rubyの文字列変換のためにまっとうなやり方をすると2回コピーしないといけないので、効率的に変換するためにトリッキーな書き方をするとのこと。だいぶつらい。 #rubykaigi #rubykaigiA
2015-12-12 15:11:56