Aug. 10th, 2008

metaclass: (Default)
Понадобился мне тут SAX парсер для проекта. Взял первый найденный на sourceforge - saxforpascal.

Сам он по себе нормальный, потому что ничего не делает - это только набор интерфейсов. А вот одна из реализаций, которые там с ним поставляются - безумная. Безумные вещи вроде утечки памяти из-за того, что с объектом одновременно работают и через объектную ссылку и через ссылку на интерфейс, совершенно не оптимальная обработка, отсутствие поддержки кодировок типа win1251 и прочий жах.

На каждый тэг создается и разрушается несколько объектов, причем один из объектов - список строк вида name=value, который сначала получается в виде списка name,value,name,value, затем собирается в список вида name=value,name=value, а потом опять разбирается на список name,value,name,value. Прозреваю, что только за счет этого куска можно ускорить работу раза в 2-3.

Ошибки пришлось поисправлять, а вот оптимизация пока подождет.

Profile

metaclass: (Default)
metaclass

April 2017

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

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 03:13 am
Powered by Dreamwidth Studios