Бред

Feb. 2nd, 2010 09:47 pm
metaclass: (Default)
[personal profile] metaclass
Начал что-то Thunderbird тормозить, ВНЕЗАПНО. И при запуске и при открытии емылов, особенно если с аттачами - то вообще виснет намертво. И место на диске, где он живет, закончилось ни с того не сего.
Начал разбираться. Ну 10000 комментов чуть более чем за полгода из ЖЖ это хрен с ним, 100-150 мег, не страшно. Ну психи-клиенты присылающие в аттачах неупакованные логи - еще мег 100. А потом смотрю - лежит файло mimeTypes.rdf, xml размером в 200 мег(!). И в нем один тэг занимает 99% всего файла, а содержимое его - строка составленая из несчетного количества повторяющихся строк-путей к папке thunderbird.
Короче, как я понял, сначала у него заклинило в голове при заполнении этого файла и он туда запилил 200 мег конкатенированных строк, а потом каждый раз при попытке анализировать этот файл читал его _посимвольно_ и парсил.

Ключевой аспект - забили на кэширование чтения файла. Не знаю, что за дырявые абстракции в алгоритмах кэша винды, но если поверх них добавить свой кэш, например читать из файла кусками по мегабайту, а потом уже в памяти анализировать - скорость отличается реально на порядки, 5 часов vs 15 минут, например, для файла с хитрожопыми бинарными объектами.

Date: 2010-02-03 12:51 am (UTC)
From: [identity profile] smalgin.livejournal.com
Да и на запись виндовые буфера тоже не очень...

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 28th, 2025 03:50 pm
Powered by Dreamwidth Studios