いまのところルータは快調のようだ。 早く代えればよかったな。
しかし、とあるところから HTTP な Subversion につないだら REPORT が通らなかったんだよなあ。 でもリファレンスにコミットできている人がたくさんいるから、 こっちのファイアウォールで止められてるわけじゃなさそうだ。 向こうで止められてるのか……。ちっ。
(18:09)
って、最近ルータのトラブルのことしか書いてないので別のことも書こうと思う。
放置ぎみのリファレンスマニュアルについて。 よくよく思い出すと「とりあえず 8 月にリリースね」 とかそんなことを言った記憶がある。 これはマズイ。非常にマズイ。 そもそもどれくらいマズイのかどうかわかってないよ俺。
そんなわけで、まずどれくらいマズイのか確認するために ツールを書くことにしよう。
(18:22)
…… tools/ を見たらすでに書いてあった。頼りになるな過去の俺。
でもこれじゃ全体の To Do 比率しかわからないな。 さすがに未来は予見できなかったか過去の俺。 まあ、とりあえず組み込みに限定するってのが決まったのは 6月だからしかたない (このスクリプトを書いたのはたぶん 3 月)。
(18:45)
うーん、プリプロセッサがからむと本来の #@todo の数を数えるのが異様に大変だ。 このへんはプリプロセッサを使う場合の弱点だよな。 でもプリプロセッサ方式でないと処理系が異様に大変になるしなあ。
よし、力押しで解決しよう。 あらかじめライブラリ (クラス) ごとのエントリ総数を数えておき、リストとして持っておく。 でもって現存する #@todo を毎日数えて、全体に対する割合を計算する。 どうせ #@todo の数のヒストリは取っとかないといけないんだから、 そのヒストリの最初のエントリを全体と考えればよかろう。
それにしても #@include をどうにかして解決しないといけないわけだが。 プリプロセッサを通してしまうと今度は #@todo が消えるし、うーむ、どうしたもんか。 プリプロセッサに --through-todo とか適当なやっつけフラグを付けて解決しようかなあ。 まあそれにしてもバージョンごとの #@todo しか数えられないので不完全なんだよね。
……あ、そうか。 #@todo だけ残すんじゃなくて、 #@include だけ解決すればいいんだ。 これはいろいろ応用が効いて賢いな。 そうだそうしよう。
(18:54)
驚きの結果が出ました。
~/c/bitclust % ruby -I./lib tools/stattodo.rb ../rubydoc/refm/api/src/_builtin.rd 73 / 1104 (6.61%)
ろく……ぱーせんと……ッ!
こ れ は ヤ バ い
(02:50)
詳細版
ARGF 7/ 28 ( 25.00%) ArgumentError 0/ 0 ( 0.00%) Array 0/ 66 ( 0.00%) Bignum 0/ 0 ( 0.00%) Binding 0/ 1 ( 0.00%) Class 0/ 6 ( 0.00%) Comparable 0/ 6 ( 0.00%) constants 0/ 18 ( 0.00%) Continuation 0/ 1 ( 0.00%) Data 0/ 0 ( 0.00%) Dir 3/ 19 ( 15.79%) Enumerable 0/ 26 ( 0.00%) Enumerable__Enumerator 0/ 4 ( 0.00%) ENV 28/ 29 ( 96.55%) EOFError 0/ 0 ( 0.00%) Exception 0/ 5 ( 0.00%) FalseClass 3/ 3 (100.00%) fatal 0/ 0 ( 0.00%) File 0/ 66 ( 0.00%) File__Constants 0/ 21 ( 0.00%) File__Stat 0/ 42 ( 0.00%) FileTest 0/ 26 ( 0.00%) Fixnum 2/ 2 (100.00%) Float 0/ 17 ( 0.00%) FloatDomainError 0/ 0 ( 0.00%) functions 0/ 59 ( 0.00%) GC 0/ 5 ( 0.00%) Hash 0/ 35 ( 0.00%) IndexError 0/ 0 ( 0.00%) Integer 2/ 17 ( 11.76%) Interrupt 0/ 0 ( 0.00%) IO 3/ 62 ( 4.84%) IOError 0/ 0 ( 0.00%) Kernel 0/ 120 ( 0.00%) KeyError 0/ 0 ( 0.00%) LoadError 0/ 0 ( 0.00%) LocalJumpError 0/ 2 ( 0.00%) Marshal 0/ 3 ( 0.00%) MatchData 0/ 15 ( 0.00%) Math 0/ 15 ( 0.00%) Method 0/ 5 ( 0.00%) Module 8/ 58 ( 13.79%) NameError 3/ 3 (100.00%) NilClass 8/ 8 (100.00%) NoMemoryError 0/ 0 ( 0.00%) NoMethodError 2/ 2 (100.00%) NotImplementedError 0/ 0 ( 0.00%) Numeric 0/ 18 ( 0.00%) Object 0/ 51 ( 0.00%) ObjectSpace 0/ 9 ( 0.00%) pack-template 0/ 0 ( 0.00%) Precision 0/ 5 ( 0.00%) printf-format 0/ 0 ( 0.00%) Proc 0/ 7 ( 0.00%) Process 0/ 52 ( 0.00%) Process__GID 0/ 9 ( 0.00%) Process__Status 0/ 16 ( 0.00%) Process__Sys 0/ 15 ( 0.00%) Process__UID 0/ 8 ( 0.00%) Range 0/ 8 ( 0.00%) RangeError 0/ 0 ( 0.00%) Regexp 0/ 20 ( 0.00%) RegexpError 0/ 0 ( 0.00%) RuntimeError 0/ 0 ( 0.00%) ScriptError 0/ 0 ( 0.00%) SecurityError 0/ 0 ( 0.00%) Signal 0/ 2 ( 0.00%) SignalException 0/ 0 ( 0.00%) specialvars 0/ 43 ( 0.00%) StandardError 0/ 0 ( 0.00%) String 15/ 79 ( 18.99%) Struct 0/ 11 ( 0.00%) Struct__Tms 0/ 4 ( 0.00%) Symbol 0/ 4 ( 0.00%) SyntaxError 0/ 0 ( 0.00%) SystemCallError 0/ 5 ( 0.00%) SystemExit 3/ 3 (100.00%) SystemStackError 0/ 0 ( 0.00%) Thread 1/ 30 ( 3.33%) ThreadError 0/ 0 ( 0.00%) ThreadGroup 0/ 6 ( 0.00%) Time 0/ 34 ( 0.00%) TrueClass 3/ 3 (100.00%) TypeError 0/ 0 ( 0.00%) UnboundMethod 0/ 5 ( 0.00%) ZeroDivisionError 0/ 0 ( 0.00%) TOTAL 91/ 1242 ( 7.33%)
ちょっと補正がかかって、ななぱーせんと。
(03:34)
ぐあー無線 LAN がつながり悪ぃー! このつながりの悪さはなんなんだ。 無線 LAN ハブのすぐ隣にノーパソ置いてんのに、ブチブチ切れやがる。 実に腹立だしいな。最近ルータとかハブとかにふりまわされっぱなしだ。
(21:44)
http://dodgson.org/omo/t/?date=20070823#p02
プロファイラの作りに関する記事。これは面白い。 途中に出てくる DCPI は Tru64 にあったアレのことだな。 しばらくしかけとくとシステム全体でボトルネックになってる プロセスを検出してくれてうわーおもしろーと思ったものだ。 最近は Linux でも似たようなのが使えるんだなあ。
(03:40)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
■ arton [GETとPOSTしか通さない透過なやつのことかな?]
■ 青木 [たぶんそれです]