タグ

xsに関するclairvyのブックマーク (2)

  • PerlからGolangを呼び出す

    GoのコードをPerlから呼び出せるようにするgo2xsを書いてみました。 使い方 Perlから使いたい関数に以下のようにgo2xsで始まるコメントを付けておきます。 package main //go2xs hello func hello(str string) string { return "Hello " + str } go2xsをgo getして、xsのグルーコードを作成。 その後通常のPerlモジュールと同じ手順でコンパイルします。 Go 1.5から入ったShared Libraryの機能を使っているのでGo 1.5が必要です。

  • Faster.pm の最適化 - tokuhirom's blog

    Faster.pm の最適化 Faster.pm がやってることは、基的には Perl VM がやってる処理を C のコードにかきくだしただけなのです。生成されてる C のコードは以下のようなかんじだ。 ここからさらに最適化できれば、ぐっと速くできるのだけど。 #define PERL_NO_GET_CONTEXT #define PERL_CORE #include <assert.h> #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #if 1 # define faster_PUSHMARK_PREALLOC(count) while (PL_markstack_ptr + (count) >= PL_ markstack_max) markstack_grow () # define faster_PUSHMARK(

  • 1