タグ

2007年10月11日のブックマーク (5件)

  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • テキストで音楽が演奏できる、「メロディ再生記法」(MML記法)をリリースしました - はてなダイアリー日記

    日、MML(Music Macro Language) を記述し、はてなダイアリーとはてなグループの日記でお手軽に音楽を演奏できるメロディ再生記法(MML記法)をリリースしました。 >|mml| t120l16 @3 o5 cdefedc8 efgagfe8 c4 c4 c4 c4 ccddeeffe8d8c4; t120l16 @3 o4 r2 cdefedc8 efgagfe8 c4 c4 c4 eeffe8d8c4; t120l16 @3 o6 r1 cdefedc8 efgagfe8 c4 eeffe8d8c4; ||<と、スーパーpre 記法の || の内側に mml と入力し、内部に MML を記述すると t120l16 @3 o5 cdefedc8 efgagfe8 c4 c4 c4 c4 ccddeeffe8d8c4; t120l16 @3 o4 r2 cdefedc8

    テキストで音楽が演奏できる、「メロディ再生記法」(MML記法)をリリースしました - はてなダイアリー日記
  • Ruby Scraping - FrontPage

    RubyによるWeb Scrapingライブラリの情報をまとめるためのWikiです。 HpricotHTMLを「Rubyらしく」扱うライブラリ MechanizeWebサイトへ自動でアクセスするためのライブラリ scRUBYt!DSLを使って簡単にスクレイピングを行うライブラリ feedalizerhtmlからRSSフィードを作るのに役立つライブラリ scrAPIパーサを定義することでHTMLを解析するライブラリ ウェブサイトから必要なデータを抽出すること。(Scrape = 削り取る) ライブラリによっては、受信したデータの解析だけでなくデータの送信にも対応している。 例: RSSを配信していないウェブサイトのHTMLスクレイピングして野良RSSを作る Googleの検索結果をスクレイピングして自動でGoogle検索するスクリプトを書く ブログの投稿ページを解析して、コマンドラインから

  • まつもと直伝 プログラミングのオキテ 第14回 意外に深い整数の世界

    整数はコンピュータにとって最も基となるデータの一つでしょう。今回はその基的なデータの背後にあるコンピュータの秘密について考えてみます。最後に,応用問題として公開鍵暗号方式についても触れます。 0,1,2,3,…と続く整数は小学生のころから慣れ親しんだ数です。しかし,学校で学ぶ算数や数学に登場する整数とコンピュータが取り扱う整数には,少しだけ性質に違いがあります。整数を学ぶにあたって,まずこの違いから考えてみることにします。 最初の違いはコンピュータの中の数は2進法で表現された2進数だということです。コンピュータを使っていて,この違いが目立つことはほとんどありませんが,ここはきちんと押さえておく必要があります。 私たちが普段使っているのは10進法です。10進法は0から9までの10種類の数字によって表現されます。しかし,10進法が唯一の位取り法というわけではありません。例えば時間の表現は6

    まつもと直伝 プログラミングのオキテ 第14回 意外に深い整数の世界
  • IT戦記 - 一行で IE の JavaScript を高速化する方法

    以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -

    IT戦記 - 一行で IE の JavaScript を高速化する方法
    authorNari
    authorNari 2007/10/11
    試して無いけども