タグ

2008年9月19日のブックマーク (7件)

  • jump table - ぱたへね

    jump tableとは何か jump tableとは、アセンブラやCにおいて制御の飛び先(jump先)を配列にして並べた物です。jump tableのイメージ図はこのようになります。 Cのswtich文のように、同じような条件で複数の飛び先がある場合を考えます。 int foo(int k){ int f = 0; switch (k) { case 0:f = i + l; break; /* k = 0 */ case 1:f = g + h; break; /* k = 1 */ case 2:f = g - h; break; /* k = 2 */ case 3:f = i - l; break; /* k = 3 */ case 4:f = i * l; break; /* k = 4 */ case 5:f = g * h; break; /* k = 5 */ case

    jump table - ぱたへね
    hyoshiok
    hyoshiok 2008/09/19
    1
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    hyoshiok
    hyoshiok 2008/09/19
    16
  • Rubyist Magazine - YARV Maniacs 【第 3 回】 命令ディスパッチの高速化を読む (1) - hogelogの日記

    http://d.hatena.ne.jp/hogelog/20080704/p1 で書いたVMを高速化。というかコンパイラさんの頑張りを見てみよう。 まず前回書いたvm.cをちょっとだけ修正。 @@ -1,6 +1,9 @@ #include <stdio.h> #define STACK_SIZE 30000 +#ifndef LOOPNUM +#define LOOPNUM 100000 +#endif typedef enum Instruction Instruction; typedef struct Code Code; @@ -90,7 +93,7 @@ {I_PUSH, 1}, {I_ADD, 0}, {I_DUP, 0}, - {I_PUSH, 100000}, + {I_PUSH, LOOPNUM}, {I_GT, 0}, {I_IF, 1} }; でまあ適当にコンパ

    Rubyist Magazine - YARV Maniacs 【第 3 回】 命令ディスパッチの高速化を読む (1) - hogelogの日記
    hyoshiok
    hyoshiok 2008/09/19
    2
  • はじめてのにき(2007-11-21)

    _ switchの展開 http://alohakun.blog7.fc2.com/blog-entry-878.html を見てたしかにどういう感じなのかなーと。 たぶん stmt.c の expand_case @gcc-4.2.2 。 最初に unique ならラベルの数とか適当に調べて、 default 以外ターゲットなかったらそこに jump とか。 んで bit なんちゃらがどうこうってのが入ってんだけど、 よくわからんかったからぐぐったら これ面白いな。 http://gcc.gnu.org/ml/gcc-patches/2003-01/msg01733.html int main(int i) { switch (i) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '

    hyoshiok
    hyoshiok 2008/09/19
    5
  • ホワット・ア・ワンダフル・ワールド Optimizing direct threaded code by selective inlining

    東大さんで今,mini-python のインタプリタを作るという演習をやっているそうな. んで,今 twitter の柱の hayamizu 氏を筆頭に,空前の VM (仮想マシン) ブームが起きている感じ. ちなみに,仮想マシンので僕が読んで良かったのは,Java 仮想マシン仕様の第二版と,コンパイラとバーチャルマシンってかなぁ (そんなに詳しくない). ところで,仮想マシンの構造ってのは,ナイーブには単純で,ひたすら switch 文で命令を引いて実行するだけ. なので,switch 文をテーブルに展開して,直接命令のコードの場所に goto したりする最適化が非常に効く.というのがこの論文. Optimizing direct threaded code by selective inlining (PDF) # 追記 : あ,ACM ポータルの論文は,北大ドメインからじゃないと

    hyoshiok
    hyoshiok 2008/09/19
    7
  • 記者の商売道具はペンとノート?

    「どうしてペンとノートを使っているのですか」 ライブドアが球団買収表明を行う直前の2004年。筆者は当時,取材中だった堀江貴文氏(元ライブドア社長)に,こう質問された。 当時の堀江氏は「ライブドアはヤフーを超えるポータル(玄関)サイトになる」と豪語していた。筆者はその宣言をはなから実現性に欠けるものだと捉え,具体策を明かすようい下がり続けた。堀江氏からは「うまく行くか否かは“見せ方”の問題」との回答しかなく,やはり具体的な戦略はないかのように見えた。 「どうして無理だと言い切れるのかなぁ」と苛立っていた堀江氏の口から出たのが,冒頭の質問である。 取材から約1カ月後。球団買収表明をして知名度が急速に高まるライブドアの関連ニュースを見ながら,冒頭の質問に「商売道具ですから」と答えた筆者に対し,堀江氏が投げかけた台詞が脳裏によみがえった。 「どうして今ある価値観にこだわるのですか」 既存の価値

    記者の商売道具はペンとノート?
    hyoshiok
    hyoshiok 2008/09/19
    1
  • エンジニアの未来サミット Photoレポート | gihyo.jp

    2008年9月13日「エンジニアの未来サミット」の模様を、セッション開始前から終了までを追ったフォトレポートにまとめてみました。 セッション開始前 12:45 受付開始。スタッフ側は「WEB+DB PRESS Tシャツ」を着用。 徐々に埋まる会場。当日はメールでUstreamチャットに参加できました。 控え室にて第一部メンバー顔合わせ+事前打ち合わせ。まだ来ていないパネラーが…。 資料を手に構想中の第一部パネラー陣。 第二部パネラーも準備開始。 鋭気を養う方々も…。 開始直前。盛り上がってまいりました。 第一部:アルファギーク vs. 学生-エンジニア業界の過去・現在・未来、そして期待と現実 第一部パネラー全員入場 司会の小飼 弾氏 nipotanこと谷口 公一氏 はてなCTO 伊藤 直也氏 最年長 よしおかひろたか氏 このイベントのきっかけを開いた ひがやすを氏 学生側の「メガネスーツ

    エンジニアの未来サミット Photoレポート | gihyo.jp