[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