[Homeros] I: Обновление образа дистрибутива ALT Linux Homeros Friend

Michael Pozhidaev msp на altlinux.ru
Пн Май 9 10:45:05 UTC 2011


Hello, Дмитрий Падучих!

> Может, причина неэффективности в том, что данные хранятся в виде
> множества мелких файлов.

Тут вот что: вообще, не думаю. Во-первых, при повторных запусках задержка
такая же, как и при первом. Кэш дисковой системы ничего не
сглаживает. Во-вторых, выполнение find ./  -type f -exec cat '{}' \; на
настольной системе происходит почти без видимой задержки, на
нетбуке с задержкой меньше 0.2-0.3с. При первом выполнении задержка
больше и с хрустом винта, но это и понятно. В-третьих, команда grep -ri
foobar . работает уже без задержки как на настольной системе, так и на
нетбуке. Таким образом, даже поверхностный анализ позволяет сделать
вывод, что задержка, скорее всего, из-за многократного порождения
процессов, чем shell грешит очень сильно. grep работает в одном
единственном процессе, и результат соответствующий. Сейчас в моей
адресной книге 249 записей. Тестировал всё на ней.

Тем не менее, мне хочется найти безупречное решение, чтобы адресная
книга открывалась моментально даже при большом количестве записей. Если
реализация на C++ не даст нужного качества, у меня есть ещё
экстремальный вариант с созданием кэша с использованием
inotify. Пользователь этого не увидит, он будет продолжать редактировать
файлы, но открытие будет уже мгновенным даже на тысячах записей.
-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/


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