2003-03-23

_ [url] MeCab (和布蕪)

_ [url] OOエンジニアの輪! 〜 第 20 回 高林 哲 さんの巻 〜

_ [url] LDAP Browser/Editor

_ [url] Guevara

_ [comp] 高速にサブディレクトリ数を調べる

find(1) の -noleaf の解説より

「ディレクトリのハードリンク数から 2 を引いたものが、そのディレクトリ に含まれるサブディレクトリである」とする最適化動作を行わない。このオプ ションは Unix のディレクトリリンク方式に従わないファイルシステムを検索 するときに必要となる (例えば CD-ROM や MS-DOS ファイルシステム、 AFS ボリュームなど)。通常の Unix ファイルシステムでは、それぞれのディレク トリは最低二つのハードリンクを持っている (ディレクトリ名のエントリと .' エントリ)。またサブディレクトリがある場合には、それぞれのサブディ レクトリ内にさらに ..' と言うエントリができる。 find がディレクトリを 調べる際、そのディレクトリのハードリンクの数よりも 2 少ないエントリが サブディレクトリであることが判明したら、残りのエントリはディレクトリで はないものとされる (ディレクトリツリーの `leaf (葉)' であるとみなされ る)。もしファイル名だけが必要な場合には、そのファイルの内容は 評価され ない。この最適化を用いると、検索の速度が非常に向上する。

個人的には大発見。

やっぱり常識なんでしょうか。

_ [url] 良いプログラマは数学を学ぶ、方が良いと思う