Ruby拡張ライブラリをGoで実装! 資産活用へのアプローチ #rubykaigi 2015 #rubykaigiA

0
Christophe 🍞++ @_toch

#rubykaigi If you like good Belgian 🍫, I have some with me. Come say hello and have one 😁

2015-12-12 14:58:18
sue445 @sue445

CのStringをGoのStringに変換して使う #RubyKaigi #RubyKaigiA

2015-12-12 14:58:42
sue445 @sue445

Go -> C, C -> Go は文字列コピーが発生する #RubyKaigi #RubyKaigiA

2015-12-12 15:00:16
黒曜@Leaner Technologies @kokuyouwind

文字列の扱いはGoとCの間でのやり取りには気を使う必要があって、相互変換関数が提供されている。Rubyから使うのはffiやfiddleが変換してくれるので特に気にせず呼び出せる。 #rubykaigi #rubykaigiA

2015-12-12 15:00:33
hogesuke_1 @hogesuke_1

わりと簡単にGo呼び出せるんだなー #rubykaigi #rubykaigiA

2015-12-12 15:02:43
あおの @aono_ex_parrot

cgoではcのマクロが使えないので工夫しないといけない #rubykaigi #rubykaigiA

2015-12-12 15:05:18
izumin @izumin5210

ruby.hのマクロをラップした関数を毎回書くのかな… #rubykaigi #rubykaigiA

2015-12-12 15:06:39
黒曜@Leaner Technologies @kokuyouwind

使うだけなら簡単だけど、ローレベルでの効率考えると頑張らないといけないって話がいろいろされている。うーん、このレベルの最適化を自力でしないといけないのはしんどそうやな… #rubykaigi #rubykaigiA

2015-12-12 15:07:36
よしこ @yoshiko_pg

GoでRuby拡張を書く話聞いてる、Cを介してGoとRubyでやりとりするのおもしろい #rubykaigi #rubykaigiA

2015-12-12 15:07:57
おんでぃ @120reset

これだけのコストがかかるのに、実際に使うとしたらどれだけ恩恵を得られるんだろう。 #rubykaigi

2015-12-12 15:08:58
立花 @ke_tachibana

Cの文字列がNULLで終わるのつらい #rubykaigiA

2015-12-12 15:09:26
Takeshi Shinoda @takeshinoda

やばい…Goなのに…ポインタ読みこなす事案が… #rubykaigi

2015-12-12 15:10:38
Yohsuke Murase @yohm13

RubyのStringからGoのStringへの変換をナイーブに行うと、2回コピーが走ってしまう #rubykaigi #rubykaigiA

2015-12-12 15:11:05
黒曜@Leaner Technologies @kokuyouwind

うーん、最初はGoとの連携面白いなぁと思ってたけど、話が進むにつれて辛そうさしかなくなってきた… これ頑張るなら素直にCを書いたほうが楽なのでは… #rubykaigi #rubykaigiA

2015-12-12 15:11:08
sue445 @sue445

これかな #rubykaigi #rubykaigiA / golang で string を []byte にキャストしてもメモリコピーが走らない方法を考えてみる by @mattn_jp on @Qiita qiita.com/mattn/items/17…

2015-12-12 15:11:38
リンク Qiita golang で string を []byte にキャストしてもメモリコピーが走らない方法を考えてみる - Qiita * [golang で string を []byte にキャストするとメモリコピーが走ります - Qiita](http://qiita.com/ikawaha/items/3c3994559dfeffb9f8c9) * [メモ:g...
izumin @izumin5210

「GoのString」「CのString」「RubyのString」考えること多いなあ #rubykaigi #rubykaigiA

2015-12-12 15:11:49
あおの @aono_ex_parrot

Go→Rubyの文字列変換のためにまっとうなやり方をすると2回コピーしないといけないので、効率的に変換するためにトリッキーな書き方をするとのこと。だいぶつらい。 #rubykaigi #rubykaigiA

2015-12-12 15:11:56