タグ

2012年9月29日のブックマーク (7件)

  • こてさきAjax:chrome上で、Webサーバーを動かしてみた - livedoor Blog(ブログ)

    Chrome Apps v2's socket api Chrome の Web appsが manifest v2 に変わり、その機能、特に Packaged Apps が大幅に変わっています。 What Are Packaged Apps? その中で僕が特に注目しているのが、socket apiChromeのPackaged Appsから、生のソケットコーディングが出来るようになります。 この socket api ですが、これまで tcp ソケットでサーバーを立てることができなかった(listenとかacceptのメソッドが無かった)のですが、昨日 Google API Expert MTGで 吉川さんから、「昨晩Chromiumで実装されたみたい」との情報が。ということで、早速簡単なWebサーバーを動かしてみました・・・というのが今日のEntryです。(執筆時点では、すでに、ca

    kyab
    kyab 2012/09/29
  • SEIL/SMF コミュニティサイト リニューアル

    SEIL/SMF コミュニティサイトはリニューアルしました。 SEIL/SMF コミュニティサイトで提供されていた、サポートフォーラム、SEIL/x86 Fujiダウンロードページ、ブログは、以下のリンク先をご利用ください。

    kyab
    kyab 2012/09/29
  • How to use epoll? A complete example in C - Banu Blog

    Network servers are traditionally implemented using a separate process or thread per connection. For high performance applications that need to handle a very large number of clients simultaneously, this approach won't work well, because factors such as resource usage and context-switching time influence the ability to handle many clients at a time. An alternate method is to perform non-blocking I/

    kyab
    kyab 2012/09/29
  • インターネットサーバでのPthreadとepoll(2)

    >>(1)よりつづく 前回は単純な実装からマルチスレッド、スレッドプールと順に見て行きました。今回はいよいよepollを使った実装を紹介します。 epoll例- 4epoll.c 多重I/Oすなわち select(2) / poll(2) によるイベントループはマルチスレッドが普及する以前から利用されていました。 select(2) / poll(2) は複数のファイルディスクリプタ(ソケット)を調べ、I/O可能なものを返すシステムコールです。ソケットに対する読み取りはデフォルトではデータがなければブロック(データが到着するまで待つ)しますが、事前にI/O可能かを確認しておけばブロックすることはありません。1システムコールで複数のソケットを調べられる点も重要で、1プロセスで複数のクライアントに並行して対応できるようになります。しかし当然ながら、対象ソケット数の増加に応じて処理量が増えます。

    インターネットサーバでのPthreadとepoll(2)
    kyab
    kyab 2012/09/29
  • I/Oを多重化するためのシステムコール(select, poll, epoll, kqueue) - $shibayu36->blog;

    サーバ周りの勉強していると、たまにselectとかepollとか言葉が出てきて、理解できてなかったので調べてみた。 I/Oの多重化 例えばサーバ周りの実装を、特に何も考えずにやると、I/Oでブロッキングが発生し、一つのクライアントとしか通信できないということが起こります。これを解決するために fork threads I/Oの多重化 非同期I/O といった方法があります。 この中のI/Oの多重化を実装するためのシステムコールとして、select, poll, epoll, kqueueなどは実装されているようです。 少し調べてみると、次のような記述のような機能をそれぞれが実装するようです。 プログラムで複数のファイルディスクリプタを監視し、 一つ以上のファイルディスクリプタがある種の I/O 操作の 「ready (準備ができた)」状態 (例えば、読み込み可能になった状態) になるまで待つ

    I/Oを多重化するためのシステムコール(select, poll, epoll, kqueue) - $shibayu36->blog;
    kyab
    kyab 2012/09/29
    select epoll 違い
  • mixi Engineers’ Blog » Linux Programming、epollの話

    お久しぶりです、初めての日の夏に圧倒されているトールマエサカです。 今日はLinuxにおけるネットワークプログラミング関連のネタです。分散データベースサーバの開発過程で最近よくLinuxのepollというイベントハンドリング機能を使っています。これがまた優秀な機能なので紹介します。 このContextでいうイベントハンドラーはサーバがクライエントのリクエストを処理するためのメカニズムです。イベントの感知と通知は大雑把にいうと以下の三つの処理で構成されています: 一つもしくは複数のディスクリプタを監視 ディスクリプタの準備が整うまでハチ公のごとくひたすら待ち続ける 準備が整ったディスクリプタの通知 アプリケーションでの実装は一昔までselect(2)、もしくはpoll(2)というシステムコールで行われていました。二つとも役目は同じですがselect(2)の場合、kernelをいじらない限り

    mixi Engineers’ Blog » Linux Programming、epollの話
    kyab
    kyab 2012/09/29
    selectとepoll
  • Node v0.5 Roadmap

    Node v0.5 Roadmap ryan@joyent.com May 5, 2011 The Community is Growing Mailing list: 4000 people (For comparison: Ruby on Rails 22000, Tornado: 1300, EventMachine 300) IRC: 600 people during peek hours Many meetups Documentation translations: Japanese, Russian, Spanish, Persian Three books in progress 1600 modules posted on the NPM registry Spamming Hacker News daily. May 2009, initial release Au

    kyab
    kyab 2012/09/29
    Windows has select() and non-blocking sockets but select() is not constant-time. It becomes noticeably slow with more than 100 sockets.