[devel] Re: cmdcache

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Сен 13 09:21:30 MSD 2005


On Mon, Sep 12, 2005 at 05:34:38PM +0400, Dmitry V. Levin wrote:
> > 1) Недостаточно хорошая функция хеширования.  Т.е. для some/file.txt
> > и some_file.txt получается один и тот же кеш.  Если mtime у этих двух
> > файлов отличается, то кеш каждый раз пересоздается, в противном случае
> > получается "самое ужасное": неверный результат из кеша.
> Тщательнее должен быть алгоритм квотирования.

С другой стороны, вообще не обязательно, чтобы имя кеш-файла
генерировалось из имени файла-аргумента.  Каждый файл в пределах машины
уникально идентифицируется st_dev+st_ino.  То есть хеш-функция может
использовать что-то вроде

$ stat --format $'%d.%i.%Y\n' ФАЙЛ

Накладной расход -- один fork+exec.  Поскольку есть как минимум ещё один
fork+exec (cat cache), то получается неплохой вариант.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20050913/5fd78d74/attachment-0001.bin>


Подробная информация о списке рассылки Devel