[devel] Re: cmdcache
Alexey Tourbin
at на altlinux.ru
Пн Сен 12 18:01:39 MSD 2005
On Mon, Sep 12, 2005 at 05:34:38PM +0400, Dmitry V. Levin wrote:
> > 1) Недостаточно хорошая функция хеширования. Т.е. для some/file.txt
> > и some_file.txt получается один и тот же кеш. Если mtime у этих двух
> > файлов отличается, то кеш каждый раз пересоздается, в противном случае
> > получается "самое ужасное": неверный результат из кеша.
> Тщательнее должен быть алгоритм квотирования.
Хочется это сделать исключительно средствами шелла - я даже готов пойти
на башизмы типа ${var//.../_}. :) Если делать это sed'ом или чем-нибудь
таким, то каждое обращение к cmdcache будет замедляться fork+exec'ом,
а это удовольствие минимум на два порядка дороже встроенных команд.
> > 2) Изменение формата вывода cmd. Опять получается неверный результат
> > из кеша.
> Надо следить за изменением cmd.
cmd может быть функцией! Для этого cmdcache надо соурсить. В этом вся
фишка -- если в кеше все хиты, то будет работать *очень* быстро. То
есть всё в пределах одного процесса.
> 3) А что если cmd это wget -O -? Хорошо ли кэшировать результат работы
> браузера удалённых ресурсов? :)
Да нет. Речь о чем идет. Что когда мы *явно* знаем, что команда имеет
вид `cmd [args...] path' и именно в таком виде мы используем эту команду
в скрипте, то в том же скрипте можно будет записать что-то вроде
. cmdcache "" # дай функцию
alias rpmfile='cmdcache rpmfile'
rpmfile()
{
f="$1"; shift
...
}
# здесь будет "проксироваться"
for f; do rpmfile "$f"; done
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.ru/pipermail/devel/attachments/20050912/a381140d/attachment.bin
Подробная информация о списке рассылки Devel