|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Victor Wagner 2:5020/400 10 Oct 2003 23:12:38 To : Alex Ott Subject : Re: catdoc -------------------------------------------------------------------------------- Alex Ott <ott@jet.msk.su> wrote: VW>> Gennady Terehov <tga@komifree.ru> wrote: GT>> Здравствуйте! GT>> Что означает первое предложение в сообщении "[This was fast-saved 3 GT>> times. Some information is lost]", выводимом Catdoc Version 0.93.1? VW>> Сначала надо только парсер OLE пофиксить, а то он очень медленный - VW>> 0.93.1 работает в двадцать раз медленнее, чем 0.92 на том же файле. AO> Я думаю над этим, кешировать там что-ли надо - а то каждый раз вычисляется AO> номер сектора в цепочке по смещению Hадо: 1. Держать в памяти текущий блок целиком. Дело в том что fread-ы у меня там очень мелкие - либо один символ, либо 128 байтный блок, либо 1 запись biff. И всегда последовательные. До 0.93, если помнишь, оно из пайпа читало без промежуточного сохранения на диск. 2. что-то вычислять только при переходе на новый блок. 3. Даже при переходе на новый блок seek делать только в том случае если блок не лежит непосредственно за концом предыдущего (в 99% случаев он там и лежит, а то бы все предыдущие версии ни хрена не работали) За счет этого удастся еще нахаляву stdio-шными буферами воспользоваться. А они под эхотагом больше OLE-шного блока. Еще хотелось бы не выделять память под цепочки блоков. Big Block Depot все равно уже в память считан. А память в DOS-овской версии до-о-орогая. Особенно в xls2csv, которая вынуждена рабочий лист целиком там накапливать. -- Sapienti sat, как сказал дракон Мрак, выпив 24-ю бутылку вина. --- ifmail v.2.15dev5 * Origin: Free Net of Leninsky,45 (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/15178461468b8.html, оценка из 5, голосов 10
|