タグ

プログラミングとアルゴリズムに関するsyanbiのブックマーク (3)

  • ネットワークプログラムのI/O戦略 - sdyuki-devel

    図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ

    ネットワークプログラムのI/O戦略 - sdyuki-devel
  • 静かな注目を集める圧縮アルゴリズム「LZMA」

    GNUプロジェクトの配布アーカイブなどを中心に、LZMAを用いた圧縮形式を目にする機会が増えてきた。組み込み用途などへの活用も期待されるこの圧縮形式を紹介しよう。 2001年に開発された可逆圧縮アルゴリズム「LZMA」(Lempel-Ziv-Markov chain-Algorithm)が静かな注目を集めている。LZMAといえば、高い圧縮率を備え、Windowsアーカイバ「7-Zip」に採用されていることでも知られる。 ZIPやLHAなど、ファイルのアーカイブと圧縮が統合されているWindows由来のプログラムとは異なり、UNIXやLinuxでは伝統的にアーカイブと圧縮が個々のコマンドとして用意されており、それらを組み合わせて利用することになる。現在では、アーカイブがtar、圧縮にはGNU zip(.gz)やbzip2(.bz2)が併用されることが多い。 .gzや.bz2をしのぐ圧縮率が特

    静かな注目を集める圧縮アルゴリズム「LZMA」
  • ほぼ日刊イトイ新聞 - がんばれ森川くんの遺伝子くん

    <群れの知能> 前回まで考えない知能の代表として、 ゴキブリを紹介してきましたが、 昆虫には、彼のように 1匹オオカミ(ゴキブリ)として生活するものと、 アリやハチのように集団を作って生活するものがいます。 今回は、この「群れの知能」がテーマです。 アリやハチの「社会」を見ていると、 なんだか、とても複雑なルールがあるように見え、 私たち人間の社会と似ている!同じだ!おれは働き蜂だ!! と感じてしまうことも多いです。 そして、つい、社会を構成するものたちも、 私たちと同じように 「考える知能」の持ち主じゃないかと 思ってしまいがちです。 ところが、ところが、 この一見複雑で高度で知的に見える「群れの動き」が、 実はすっごく簡単なルールで作れてしまうとしたら、 どーしましょう。 上の3段論法 1:アリやハチの群れの動きは、とても複雑である。 2:複雑な群れの動きは、 複雑で高度な知性(ルール

    ほぼ日刊イトイ新聞 - がんばれ森川くんの遺伝子くん
  • 1