«前の日記(2004-01-13) 最新 次の日記(2004-01-15)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2004-01-14 [長年日記]

_ [Ruby]Riteの課題

なんかこのところ生活臭のただよう話題ばかりなんで、たまにはRubyの話を。

Rubyの新実装であるRiteであるが、解決したい課題は以下のものだ。

  • 組み込み対応
  • スレッドセーフ
  • 高速化

「組み込み対応」はアプリケーションの一部として Rubyインタプリタを組み込んだとしてもじゃまにならないためのもの。 具体的には「インタプリタオブジェクトを持つ」あるいは「インタプリタオブジェクトの再初期化ができる」ことが必要だろう。GCについての考える必要があるかもしれない。

「スレッドセーフ」では、少なくともpthreadを使うライブラリとリンクしても、 止まったり落ちたりしないような実装にしたい。たぶん、インタプリタオブジェクトはここでも役立つだろう。 また、必要に応じてはgiant interpreter lockで対応せざるをえない部分もあるかも。 yaccを使ったparserはreentrantにできないのも問題だ。 bisonのpure-parserはlexer用にデータを渡せないので、役に立たない。 これをreentrantにするには自分で再帰下降構文解析を行うか、lemonのようなparser generatorを使うか。 GCについての考える必要があるかもしれないのはこの件も同じ。

「高速化」はある意味当然だろう。実行が速くて文句を言う人はいないし、 また現在のRubyの実装が決して効率の良いものではないと分かっているのだから、 ぜひ実現したい。 この件については、いくらRubyが最適化が難しいと言っても、(今が良くないのだから) メソッド呼び出しの効率化とバイトコードディスパッチの改善でかなり高速化できそうな気がしていた。 しかし、私自身の作ったプロトタイプや笹田さんのyarvなどの結果はさほど思わしくない。 実はボトルネックは別のところにあるのだろうか。

_ [日記]アクセス数

去年の5月にこの「Matzにっき」をスタートして以来、アクセス数なんて気にしたことなかったが、 あちこちで話題になっているのでちょっと調べてみた。

2004年1月1日から14日までの計は以下の通り。 これは「Matzにっき」のトップページにGETアクセスしたものの数。

1日  2320
2日  2330
3日  2486
4日  2538
5日  4740
6日  3378
7日  4310
8日  5078
9日  4190
10日 2520
11日 2914
12日 2938
13日 3156
14日 4320

休日にはアクセスが少ないということがはっきり分かる。が、休日でも休まずアクセスする2000人の廃人が。 この14日間の平均を出すと3372.17。多い日は5000アクセスがあるのか。驚異的だな。

もうちょっと心して文章を書くべきかもしれない....うーむ、無理だな。

本日のツッコミ(全3件) [ツッコミを入れる]
_ Xelloss (2004-01-15 18:37)

時間帯でアクセス統計をとってみると実は仕事の合間にチェックしてる人が多いという結果が得られるかもしれませんね。

_ Narushima Hironori (2004-01-17 14:19)

私もついついこの日記に目が行ってしまいます。これは技術基盤の選択をするとき、その技術の作者・組織がいかに重要かということを示す証拠といえましょう。

_ とんび (2004-04-24 01:28)

>bisonのpure-parserはlexer用にデータを渡せないので、役に立たない。<br>とありますが、YYPARSE_PARAMとYYLEX_PARAMを定義したのではだめですか。ていうか、これつかって、すっかりreentranthなparser作ったつもりでいたのですが。テストしないとやばいかな。

お名前:
E-mail:
コメント:
[]

«前の日記(2004-01-13) 最新 次の日記(2004-01-15)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.