Subscribed unsubscribe Subscribe Subscribe

Haskell忘年会

火曜日にHaskell 2009年末の集いに参加してきました。

前哨戦で参加者全員が発表するということで、新しいGHCで改善された並列プログラム用ランタイムシステムの性能改善の話を少しだけしました。スライドはこちら。

新しいGHCでは、

  • Control.Parallel.parで生成される超軽量スレッドsparkを各コア間で共有するのにwork stealing queueというロックフリーなデータ構造を使うようにしたとか
  • 並列実行や並列GCにおいて局所性を高めて性能改善したとか
  • 現在採用しているGCの方式とControl.Parallel.Strategiesライブラリの相性が悪く、メモリリークが起こることがあった問題を解消したとか
    • これはparallelライブラリのバージョン2系としてリリースされている

などなど、いくつもの改善点が含まれているようです。

他の方の発表では、特にid:msakaiさんのRelaxed Dependency Analysisが、きっと自分で調べてもわからなかった話なので、聞けて良かったと思いました。

忘年会での話をメモ。

  • 並列プログラミング
    • Control.Parallelを使った例としてはLolitaというのがあるらしい
  • FRP
    • The Haskell School of Expressionではインタラクティブな処理があまり出てこないらしい(なんと!)
    • I/Oとの連携が難しいという話
      • 特にBehaviorの使い方がわからないと言ったら、Behaviorは連続的な値の変化を表すので、I/Oとの連携はあまりないんじゃないかとのこと。そうか。
    • さかいさん曰く、次回HIMAのテーマがFRPになるかも(是非)
    • FRP勉強会しましょうとという話(したい)
      • あとでFRPについて今まで調べたことを書こう
    • Conal Elliottの話は難しい
  • 圏論を学ぶとライブラリの設計に役立つことが少しはあるらしい。学習コストは見た目よりは低いらしい。
  • id:propellaさんの木製半加算器がすごかった