Talk Information

さよなら哀スレッド ~ わが青春の愛スレッド

This talk is currently in 'Rejected' state
このエントリーをはてなブックマークに追加

Abstract

2003年春、仕事もなく暇な私は――ithreadsと出会った。

「それ」はとてもスロウでバギィでリークなコードクラッシャーだった。

情報収集、テストコード、セグフォルセグフォル。そして――

さようならithreads


プロローグ

少々昔の話をしますと、2003年頃、私は仕事もあまりなく暇でした。それでふとithreads(Perlのスレッドシステム)関連のドキュメントを翻訳してみたのです。気づけば私は熱に浮かされたようにithreadsの情報を集め、Tipsページをつくり、初めてCPANにあげたXSモジュールはithreadsをサポートするものでした。私はithreadsの虜となったのです。

当時の情熱の一端は、今でもこのような形でその影をとどめています(もうデータも古くて使い物にはならない部分も多いですが)。 それから、そう。私の初めてのCPANにアップしたXSモジュールはThread::Stateという当時ithreadsに実装されていなかったis_joinable, is_detached, is_runningなどを提供するモジュールでした(これらが無い、というのもなかなかに酷い話ではあるのですが、その後ちゃんとコアモジュールに実装されています)。

かくのごとく私には熱病のようにithreadsにはまっていた時期がありました。ただ、なぜそんなことになったのかは、今とはなってはもう覚えていません。

そんなithreadsですが当時から大変なじゃじゃ馬でした。すぐにSegfaultするはメモリリークするは、それ以前に動作が遅い(それどころかithreadsと全く関係のないコードを1文字書き換えただけで突然恐ろしいまでに動作が緩慢になることさえありました)。

とはいえithreadsもどんどん安定し、頼もしいものになっていきました。ええ、最初の頃、Perl 5.8.0の時代より相対的に。

この子はできる子だ、いつか、羽ばたく。いつか……きっと!

そして希望むなしく、Perl 5.20で非推奨(discouraged)になりました。

はじめて真面目にithreadsと向き合ってから12年。discouragedとなりコアから消えゆくithreadsのため、YACP::Asiaで鎮魂歌を捧げます。

エピローグ

このトークでは下記の内容を話します。

  • ithreadsとは何か
    • 来歴
    • 動作原理
    • 共有概念
  • ithreadsの(本当にひどい)動作
    • こうやると落ちてしまう! というか、何やっても落ちる!
    • etc.
  • ithreadsコードに必須の(バッド)ノウハウ
    • こう書けば、少しはメモリがうくよ! こう書かないとメモリうかないのかよ……
    • etc.
  • かつてithreadsを支えたモジュールたち
    • 何しろ何にもできないから、サポートするモジュールも充実していた!
    • etc.
  • さよならithreads
    • なんかCoroの作者(レーマン先生)がdisってたよね。そしてCoroは……
    • まとめです

Talk Details

Venue TBD
Starts On TBD
Talk Category Others
Language Japanese
Slide Subtitles English
Talk Duration 30 minutes
Material (Difficulty) Level Beginner
May we take your photo? allow
May we record your talk? allow