タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

RubyとThreadに関するgioextのブックマーク (1)

  • Threadの話 - GIOの日記

    最近Rubyでクローラを書いた。 なかなか気合いの入った動きをみせ、一晩で3Gバイトものデータをダウンロードしてくる。 また、それに比例して処理も遅くなる為、Threadを使うことにした。 RubyでのThreadはグリーンスレッド、つまり1つのカーネルスレッドに対して複数のユーザースレッドが動作している為、並行的には動作できるが、並列には動かない。つまり速くならない。 しかしクローラのようにボトルネックがネットワークとディスクIOの場合、待ち時間に他の処理ができるのでそこそこ有用です。 問題としてRubyのThreadはとにかく遅い。コストが高すぎ。スイッチング遅すぎ。 来は (1..10000).map { |e| Thread.start { e**2 } }.map{ |th| th.value } みたいにThreadを使い捨てにしたい。楽だし。 でもリソースがもったいなさ過ぎ

    Threadの話 - GIOの日記
    gioext
    gioext 2008/12/26
    次はアクターっぽいもの書いてみよう
  • 1