ブログが続かないわけ

この日記のはてなブックマーク数
Webエンジニアが思うこと by junichiro on Facebook

[Perl]Shibuya.pm #9 (XS nite) のまとめ

このエントリーを含むはてなブックマーク hateb
ひさびさのPerl エントリー。
とはいえ、今回はXSが中心なので、Perlの話はほとんど出てこない。自分自身Cはほとんど書けないので、勉強のためにと思ったが、最後まで集中力が持たなかった感もある。そういうわけで、かなり中途半端なまとめになってしまう。

1. はじめてのXS - ハマリどころはココだ
hirose31 ( no curry, no life )

■なぜXSを書くのか
1. Cのライブラリを使いたいため。
(Perlで実装し直すのが面倒でしょ)
2. パフォーマンスアップのため
(例えば、Cache::Memcached::Fast とか)
3. Perl の内部をいじくり倒すため
(ヘンタイ上級者向け)

■参考になるドキュメント
1. perlxstut
(XS のチュートリアル)
2. perlxs
(XS のリファレンスマニュアル)
3. perlguts
(Perl の内部構造についての解説)
4. perlapi
(Perl のAPIのリファレンス)

■作成のために
h2xs を使う。
ちなみに、h2xsはトラディショナルなやりかた。
h2xs -A -n Mytest


いまは module-starter がいいんじゃないか。

わからないときはCPAN にあがっている他のXS モジュールを参考にするといい。
例えば、JSON::XS とか YAML::Syck とか。

■メモリ管理について
New* したものは Safefree() すべし。
newSV* したものは sv_free すべし。
デストラクタ DESTROY()とかでやるとよい。

■プロファイリング
valgrind --tool=callgrind + kcachegrind

■その他
互換性の問題
ppport.h で吸収できる。
Devel:PPPort を最新版にしてね。

■まとめ
XS って意外と簡単です。
C ライブラリをコールするだけなら簡単。

【感想】
ハマりどころは、夢中になりすぎるところだと思った。
なんだもXSでやりたくなってしまうような。
C ライブラリをコールするだけの目的でとりあえず最初は始めたらいいのだろう。


2. Perl5 Internals の世界にようこそ!
lestrrat
牧さん頑張れ。

まず、大前提として Perl っちゅうのは C で書かれてるよね。
だから、XS がわかると Perl をより深く知れる。

■ちょいめも
SV - スカラー
AV - 配列
HV - ハッシュ

■SV とは
Perl 変数の基本
なんでもはいる入れ物

SV がわかれば Perl はほとんどわかってしまう(6割)

■REFCNT のはなし
Perl はメモリ管理は良きように計らってくれる
XS は C なので自分で管理しなければならない。

■SvMAGIC
この辺から一気に話が分からなくなる><
とにかくお手本モジュールは HTML::Parser

■まとめ
1. XS は Perl と C をつなぐもの
2. すでに C でかかれているものに Perl からアクセスするためだけに使うのがベスト
3. アダプタを作る = XS を書く
4. GC 重要

【感想】
hirose31 さんの発表の続きとして、とても良い流れでわかりやすかった。
後半は自分の無知のために、しばらくぶっとんでしまったが、とにかくXS に触れてみようと思った。


3. Inside Ruby.pm

筑波大学心理学部

Perl から Ruby を呼び出す。

【感想】
ヘンタイ
心理学と何の関係が?


4. PerlOS
wakapon

高水準言語マシン
PerlMachine

■何からインスパイヤされたか
1. bootperl
- CPAN にある
- x86 がブートして、最初のプロセスでワンライナーが走る

2. Perl/Linux
- SourceForge にある

■設計方針
1. できる限りPerlで実現させる
2. 世の中にあるPerlのコードはすべて動くようにする。
3. 実行速度は気にしない

【感想】
面白そうだと思った。
組み込み系とかで使えるかも、とか。
ただ、まったく理解できなかったということは、正直に告白しておこう。


5. LT
省略

【感想】
やはり、みんな当然のようにオペコードを気にしてperlのソースを書いているようだった。
負けてらんない。


全体の感想。
情けないくらい理解できなかったけど、XS に対するモチベーションがあがったことだけでもよしとしよう。
zigorou さんに聞きたいことがあったけど、いなくて残念だった。
悪い風邪は早く直してくださいな。

「XS を書いたことがある人?」って聞かれたときに、手を上げている人がうらやましかった。
mizzy さんとか。

さあ、これからも頑張るか。
この記事のトラックバックURL
http://en.yummy.stripper.jp/trackback/946192
トラックバック
コメント









関連情報