2006-08-01から1ヶ月間の記事一覧

時差

Ruby CVSwebのAgeの表示が、9時間ずれているみたい。

王位戦第五局

徳島新聞 佐藤、あまりにも無茶し過ぎ。 変則三間飛車(新型?)、無理な千日手打開、棒玉...

コメントの返事

去年インストールしたFedora Core4なので、古くもなく最新でもないというくらいの環境だと思います。恐らくconfigure.inの書き方に、元々拙い部分がどこかにあるためでしょう。 コメントありがとうございました。

リリース

4.4.1をリリース。 4.4.0からの違いは、configureの引数に、--enable-combination-explosion-checkを追加しただけ。 configure.inの書き方がわからない。 AC_ARG_ENABLE()の中に、AC_DEFINE()を書いても、config.h.inには反映されるが、config.hでdefineされ…

対応パターン

昨日、4.4.0をRuby 1.9にマージした。 組合せ爆発の対応について、Perlでは対応できているのに、鬼車では対応できていないパターンがあれば教えて欲しい。 多分、見つかっても対応はしないと思うが、把握しておきたい。

キャンディーズ・トレジャー

以前、Sony Music Shopで予約していたキャンディーズ・トレジャーが、アマゾンでも予約可能になった。しかも定価より3150円安い。キャンディーズ・トレジャー [DVD]アーティスト: キャンディーズ出版社/メーカー: Sony Music Direct発売日: 2006/10/25メディ…

神輿

子供の頃、夏祭りで神輿を担いだのは懐かしい思い出ではあるが... 東京に出てきてから、祭りの神輿を担いで街中を進んでいく様子を初めて見て、物凄い違和感を感じた。周りに山が全く見えない住宅街で、この人たちは一体何をしているのだろうかと思ってしま…

追記

しかしPHPのmbstringの作成の中で、鬼車のconfigureを実行しているのかどうか、知らなかった。まあ多分、実行しているのだろう。

コメントの返事

桝形さん、コメントありがとうございます。 コンパイルオプションというのは、configureの引数のことですか、それとも正規表現の作成時点でのオプション引数のことでしょうか? 正規表現のオプションであれば試しに実装してみたのですが、速度上あまり差があ…

リリース

4.4.0をリリース。 大した変更はないのだが、少し気になる点があったのと、来週ぐらいにRubyにマージしたいのでリリースした。 指数関数的組合せ爆発を有効にするかどうかを設定するUSE_COMBINATION_EXPLOSION_CHECKを、ライブラリとしては無効、Ruby組込み…

胼胝

左手の薬指にタコが出来ていた。原因がわからなかったが、今朝の通勤電車で本を読んでいる途中で分かった。本の背の部分を薬指で支えているのが原因だった。 こういうタコには名前があるのだろうか? とりあえず「文庫本ダコ」と名付けてみた。

第四十回 補給戦

補給戦―何が勝敗を決定するのか (中公文庫BIBLIO)作者: マーチン・ファンクレフェルト,Martin van Creveld,佐藤佐三郎出版社/メーカー: 中央公論新社発売日: 2006/05/01メディア: 文庫購入: 24人 クリック: 232回この商品を含むブログ (75件) を見る必読書。

第三十九回 真実の江戸人物史

真実の江戸人物史 (ぶんか社文庫)作者: 江崎俊平,志茂田誠諦出版社/メーカー: ぶんか社発売日: 2006/07メディア: 文庫この商品を含むブログ (1件) を見る武士階級でない人は、出自を特定するのが困難な場合が多いようだ。 紀伊国屋文左衛門、幡随院長兵衛、…

有限と無限の結末

今回のリリースで、以下のパターンを含む場合にも対応できるようになった。 (?:A*){0,n} (?:A+){0,n} (?:A*){1,n} (?:A+){1,n}後方参照を使用していない場合には、以下のパターンを含む場合にも対応できるようになった。 (A*){0,n} (A+){0,n} (A*){1,n} (A+)…

損得

指数関数的組合せ爆発の対応を入れたことで13%程度速度が低下したと、前に書いた。これを改善しようとして、幾つか変更してみたが、殆ど改善が見られなかった。速度のほうが重要であれば、USE_COMBINATION_EXPLOSION_CHECKを未定義に変更してもらうしかない。

訂正

8/19の書き込みで、(?:A*){0,10}については以前から対応していると書いていたが、実際には対応していなかった。今日のリリースで対応した。

リリース

4.3.1をリリース。 変更点は、(?:a*){n,m}、(a*){n,m}等の縮約。指数関数的組合せ爆発の対応については、これで終わりにしたい。

livedoor Reader

Blogの更新が反映されるまでに時間がかかり過ぎ。二時間以内ならあまり問題ないと思うが、四時間以上かかる場合には、読むのが大抵翌日になってしまう。帰宅してから寝る前までしかチェックできないので。

有限と無限のルンバ

Perlが(A*){0,10}に対処していると勘違いしていたので、鬼車でもやらなければいけないかなと思っていたのだが、どうしようか? このパターンは一般的には対処できないが、後方参照を使用していない場合だけは、(A*)に還元してもマッチング結果は変わらない。…

有限と無限のブルース

Perlが(A*){0,10}に対処していないのなら、もう既に鬼車のほうが対処できているパターンが多いのではないか? (?:A*){0,10}には以前から対処してあるのだから。 しかし、Perlが対処できるパターンの仕様を理解できていないので、断言はできない。

有限と無限のバラード

あれ、変だな? $s = "a" x 100 . "z"; $s =~ /\A(a*){0,10}\z/;これをPerlは対処していると思っていたのだが、今確認してみるとできていない。それどころか、以下のようにキャプチャなしにしてもできない。 $s =~ /\A(?:a*){0,10}\z/;

真夜中

真夜中に色々考え事をして眠れなくなってしまった。 昔は寝つきが悪かったので、こういうことは良くあったが、最近は珍しい。

検索速度

昨日書いたように、速度が13%低下したので何とかしたい。 直ぐに思いつく方法は、 失敗状態を記録する領域を毎回malloc()しているが、サイズが小さいときだけalloca()にする match処理用スタックのアクセス方法を改良 これで3%ぐらい戻したい。

日焼け

三時間ほど外を歩いただけで、かなり日焼けした。

放送形式

「侮日」を防げるならば「排日」を招いてもOKです。

検索速度

で、検索速度がどの程度低下したか? 五月に作ったベンチマークプログラムで測ってみた。 ... 結果判明 ===> 約13%遅くなった昨日予想した15%に極めて近い。

新宿で人身事故というアナウンスがあったので、東京駅で降りて夕食。 「夏のおさかな定食」820円 (しゃこ、はぜ、はも、えび)

リリース

4.3.0をリリース。 指数関数的組合せ爆発の対処を追加。 この機能が不要であれば、USE_COMBINATION_EXPLOSION_CHECKを未定義に変更してからコンパイル。

有限と無限の間で(2)

前回の日記で、有限回の繰り返しは、そのループの中でチェックできない。ループから出た位置でチェックするしかない、と書いた。 例: B{0,10}の展開 PUSH /* JUMPの直後からの再実行をスタックに登録 */ ...Bの展開... JUMP /* PUSHの位置に戻る */ CHECK_S…

追記

上記の中で、「役に立っているのかどうかよく判らない細かい最適化処理」というのは、検索を高速化するための検索情報抽出の部分のことではなく、バイトコードに色々なバリエーションを追加しているところ。