タグ

2009年5月20日のブックマーク (15件)

  • 第3部第1回 パラメータ変更でカーネル・チューニング

    Linuxカーネルは,CPUやメモリー,ディスク,ネットワークなどのさまざまなデバイスを管理・制御しています。カーネルがそれらを扱う際の設定をうまく変更すれば,各部分の性能を容易に向上できます。いくつかチューニングのキーとなるポイントを具体的に紹介します。 Linuxに精通した人なら「カーネル・チューニング」といえば,カーネル・コンパイル時の各種設定を書き換え,カーネルを再構築するといった方法を考えることでしょう。確かに,カーネルにはCPUやメモリー,I/O,ネットワーク,各種周辺デバイスに関する100以上の設定が,コンパイル時に用意されています。 ただカーネルの設定を書き換えて再構築しても飛躍的に性能を向上させることは難しいといえます。一般のLinuxディストリビューションに含まれるカーネルは,デスクトップやサーバーなどのさまざまな環境で最適に動作するように構築されているからです。 実は

    第3部第1回 パラメータ変更でカーネル・チューニング
  • Practical Scheme

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を紐

    Practical Scheme
  • なんでも作っちゃう、かも。

    Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。 C言語でコルーチンを実装してみる、その4。今回でコルーチンの連載(?)は最後です。最後にコルーチンを使った協調型スレッドライブラリを実装します。さっそくサンプルコードから見ていきましょう。 int thread1_count=0; int thread1_func(coroutine_t coro) { co_begin(coro); while(1){ thread1_count++; co_yield(); } co_end; } int thread2_count=0; int thread2_func(coroutine_t coro) { co_begin(coro); w

  • 独自OSを作ってみよう!

    このホームページは以下に移動しました. ブックマークを張り直してください. 5秒後に自動的に移動します. http://kozos.jp/kozos/

  • B3 OS/Programming

    シラバス コースは、プログラミングの基について、ひととおりの技術を学び終えた受講者を対象とする。コースの目的は、実際のソフトウェアを開発する際に、具体的にどのようにプログラムを設計し、またどのように OS の機能を利用していけばよいか、感覚をつかんでもらうことである。このため、コースは講義中心ではなく、いくつかのソフトウェアの作成演習をとおして、そのソフトウェアのプログラムはなぜそのように設計されているのか等を考えてもらう。 1. 簡単な C コンパイラ 言語仕様を簡略化したCコンパイラを作成し、言語処理系の基構成を学ぶ。また関数呼び出しや配列参照など、C言語の各基機能が実際にどのような機械語に変換されていくのかを学ぶ。 実際に作成する処理系は2つで、まずはじめに字句解析の練習として、ごく簡単なLispインタプリタを作る。 その後、構文解析、コード生成の演習のため、C言語風の手続

  • Software Error

    Software Error:No such file or directory: /home/persistent/j/js/jsthread/wiki-data/log at lib/CGI2.pm line 33.

  • The Ruby VM: Episode III - BSDmad の日記

    Matzにっき から The Ruby VM: Episode III へ。体調激悪なので翻訳は未だ... 誰かやってくれたらリンクで済むのに ^^;)。 新しい VM の重要な変更点ですから、スレッドについても少し話していただきましょうか。まず Ruby 1.8 で採用されている旧スレッドモデル、そして Ruby 1.9 で採用された新しいスレッドモデルについて説明していただけますか? まつもと さん(以下 Matz): 旧スレッドモデルはグリーンスレッドであり、Ruby が動作する全てのプラットフォームに普遍的なスレッドを提供します。私が Ruby の開発を始めた 14年前には妥当な決定だったと思います。時が過ぎ、状況も変わりました。現在、pthread などのスレッドライブラリが大半のプラットフォームで利用可能になっています。古いプラットフォームでさえ、pth ライブラリ(setjm

    The Ruby VM: Episode III - BSDmad の日記
  • pub/ruby/binaries/mswin32/ext/

    eruby-1.0.3-i586-mswin32-1.6.zip 75091 2015-07-25T02:03:04.000Z eruby-1.0.5-i386-mswin32-1.8.zip 72242 2015-07-25T02:03:04.000Z md5.sum 1030 2015-07-25T02:03:04.000Z narray-0.5.9-i386-mswin32-1.8.zip 83063 2015-07-25T02:03:04.000Z racc-1.4.3-all-i586-mswin32-1.6.zip 126321 2015-07-25T02:03:05.000Z racc-1.4.5-all-i386-mswin32-1.8.zip 131328 2015-07-25T02:03:06.000Z rubywin-0.0.4.3-i586-mswin32-1.6.

  • Canonical Huffman Codes での符号長の効率的な計算 - naoyaのはてなダイアリー

    週末に参加した Managing Gigabytes の読書会で第2章のハフマン符号を担当しました。この中で Canonical Huffman Codes の解説がありますが、そこにハフマン符号の符号長を効率的に求める手法の説明が含まれています。 輪講では時間切れのためこのアルゴリズムの解説が駆け足になってしまいましたので、改めて解説資料を作ってみました。2009 年の今に Managing Gigabytes を読んでいるという方はあまり多くないかもしれませんが、参考になれば幸いです。 https://www.dropbox.com/s/539fhyc7rf6b9ik/090518computing_huffman_code_length.ppt?dl=0 (PPT, 258K) 先日 Canonical Huffman Codes の習作を Python で実装しましたが、このコード

    Canonical Huffman Codes での符号長の効率的な計算 - naoyaのはてなダイアリー
  • Vim made easy: how to get your favorite IDE features in Vim

    The Vim text editor is a favorite of many programmers and system administrators. Although it provides an exceptional amount of power and flexibility, it can be somewhat intimidating for new users. Programmers who transition to Vim from a conventional integrated development environment (IDE) tend to find the paradigm shift a bit disorienting. I often get e-mail from readers who are looking for ways

    Vim made easy: how to get your favorite IDE features in Vim
  • 流行りのケブンリッジ関数 - JavaScript 編 - IT戦記

    はめじに いま どかうく .rog で けっりぶんじ かすんう が はいてっやる ので さそっく じぷりくすばゃと で じうっそ しみてた String.prototype.cmabrigde = function() { return this.split(' ').map(function(w) { var ws = w.split(''); var l = ws.pop(); return (ws.shift() || '') + (ws.length ? ws.sort(Math.random).join('') : '') + l; }).join(' '); }; さこんう URL http://ja.doukaku.org/249/ C++ だと こなんかんじ? #include <iostream> #include <string> #include <algorithm

    流行りのケブンリッジ関数 - JavaScript 編 - IT戦記
  • システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan

    ある読者との電子メールのやり取りの中で出てきた話である。彼は、開発者向けのブログや記事、雑誌の内容が2種類に分類できるということを述べていた。その2種類とは入門者向けのもの("Hello World"に代表されるもの)とエキスパート向けのもの(MSDN Magazineのようなもの)である。 これはなかなか鋭いポイントを突いている。開発者が入門レベルから中級レベルにステップアップするうえで役立てることのできる情報がほとんどないのだ。以下は、こういったステップアップを実現するための10のティップスである。 #1:新たなプログラミング言語を学習する 新たなプログラミング言語を学習することは、それがどのような言語であったとしても、より優れた開発者になるための近道となるのである(このことは、あなたが既に多くのプログラミング言語を修得していたとしても成立することである)。言語を選択する際には、あなた

    システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan
  • YappoLogs: yacc と lex で簡易言語の AcotieScript っての作ってみた

    « Iron Man Blogging Challengeに参加するよ、日Perlな人も参加しようよ | Main | HTTP::Engine is moved to GitHub » yacc と lex で簡易言語の AcotieScript っての作ってみた そろそろ梅雨入りするので急いでキュウリの苗植えたら安物のせいか根っこが弱っこくて少し心配な金曜日担当Yappoです。 Perlも飽きたし、ふと思う所があって、オレオレ言語を作ってみました。 http://github.com/yappo/AcotieScript/tree/master たぶんMacでしか動かないんじゃないかなとは思ってますが、普通にmakeすればコンパイルされる筈。 サポートされているシンタックスはコメントとprintとperlにあるような文字列同士のxorです。 "hoge" ^ "ugee"みたいので

  • Apacheモジュールの作成とgdbとloggerでのデバッグ方法 - よねのはてな

    ApacheのFilterモジュールを作った話しをしたらid:c9katayamaに情報公開しろと言われたままでしたので公開します。 C言語の勉強しようかな、Apache2.xのモジュールを作ってみようかな、gdb使ってデバッグしてみようかなと考えてた人にお勧めです。 JavaでのServletの開発経験のある人であれば、Filterの処理の動きやリクエストコンテキストの考え方は分かり易いはずなので、エントリを読み終わる頃にはApacheのモジュールをgdbでデバッグしながら作る事が出来るはずです。 mod_orzを作成 今回はmod_orzというApacheモジュールを作成します。 Apacheモジュールを作成する際には、apxsというモジュール開発用のコマンドを使用しテンプレートを作ります。 # apxs -g -n orz Creating [DIR] orz Creating [F

    Apacheモジュールの作成とgdbとloggerでのデバッグ方法 - よねのはてな
  • 作ろうiモード:iモードブラウザ2.0 | サービス・機能 | NTTドコモ

    ブラウザキャッシュサイズは500KBです。 Shift_JIS、UTF-8の文字コードが利用可能です。 GIF、JPEG、BMPの画像が表示可能です。 JavaScriptCSSに対応しています。 176種類の基絵文字と76種類の拡張絵文字、デコメ絵文字が利用可能です。