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

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

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

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

Date: 2008-08-11 08:10 am (UTC)
From: [identity profile] merrcy.livejournal.com
Ошибки пришлось поисправлять, а вот оптимизация пока подождет.
Open Source рулит? ;)

Date: 2008-08-11 08:36 am (UTC)
From: [identity profile] metaclass.livejournal.com
Имея опыт работы с покупными компонентами, могу сказать, что там то же самое :)

Date: 2008-08-11 04:36 pm (UTC)
From: [identity profile] inhate.livejournal.com
там тоже дают без всякого геморроя испралять что пожелаешь? :)

Date: 2008-08-11 06:27 pm (UTC)
From: [identity profile] metaclass.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. 22nd, 2025 08:33 am
Powered by Dreamwidth Studios