タグ

ブックマーク / recompile.net (3)

  • [ネタ] Ruby on RailsでCometを実現する http_polling プラグイン (recompile.net)

    RailsのプラグインでCometなアプリケーションを簡単に書けるようになったら、うれしいかもしれません。Juggernautというものありますが、これは80番ポート以外をつかうので全然うれしくない。 そこで、書いてみました。polling_methodを指定してあげると、:wait_forで指定したアクションが実行されるまで、HTTPコネクションをつかんだままで、アクションの実行を待機します。 例えば、Controllerクラスは、次のようになります。 class CounterController :increment def count render :update do |page| page.replace_html 'count', @counter.count end end def increment @counter.increment! :count render_te

  • おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(前編) (recompile.net)

    « 突然、有名サイトに自分の写真が掲載されていたら | メイン | おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(後編:その1) » おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(前編) はじめに Jetty 6には、継続(continuation)という機構が用意されました。この記事では、その応用例であるCometによるウェブアプリケーションの実装を取り上げ、解説をします。 Cometでは、サーバプッシュ型アプリケーションを実現するために、サーバに対してHTTPコネクションを張り続ける必要があります。こうした接続の手法は、従来のHTTPサーバでは想定されているものではありません。 また、Cometが提供するイベントドリブン型のウェブアプリケーションでは、サーバ側や、クライア

  • JavaとCの実行速度 - recompile.net

    自家製のプログラムを題材に、JavaとCの速度比較をしてみました。アクセスログからトップへのアクセスだけを切り出すという処理です。処理対象のファイルは某サイトの一ヶ月分のログで8.9Gあります。測定は、OSがLinuxバージョン2.6で、CPUがPentium Dの2.80GHz、メモリを512MB搭載しつつ、7,200RPMでキャッシュが8MBのSATA HDDというマシンで行なっています。 まずは、単純にgrepをかけてみましょう。 % time grep 'GET /[ ?]' access_log > /dev/null grep 'GET /[ ?]' access_log > /dev/null 1219.31s user 7.65s system 99% cpu 20:33.59 total さすがに8.9Gのファイルを相手にすると時間がかかります。 この処理をJavaで書い

  • 1