16 сент. 2009 г.

Оптимизация TgdcCustomClassList

Огромное количество вызовов AnsiCompareText, показываемых профайлером, — следствие неуемного использования сортированных строковых списков тут и там. Начнем с оптимизации TgdcCustomClassList. Заменим внутренний TStringList на TStringHashMap из библиотеки JCL.

UPD: Пока вынуждены все вернуть назад. На индекс класса в TgdcCustomClassList сильно завязаны объекты редактора скрипт-объектов, что уже само по себе неправильно. Зачем хранить индекс в списке, когда можно просто хранить ссылку на класс? И потом, одно добавление в сортированный список и все привязки сделанные к индексам становятся недействительными.

Комментариев нет:

Отправить комментарий