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