Исследовал возможность ускорения TStream.ReadComponent для Turbo Delphi.
Возможно это пригодится и для Lazarus - при просмотре кода в непоследней
версии VCL Lazarus обнаружил решения, похожие на решения в VCL Delphi.
В моем тесте компонент загружался за 2.8 секунды из файла объемом 1.7 Мб.
Оказалось, что поиск класса по имени выполняется небинарный. После переделки
поиска на бинарный время загрузки уменьшилось до 2 секунд. Для этого тип
поля TRegGroup.FClassList модуля Classes.pas поменял с tList на
tStringList. Запрос на такое изменение в модуле Classes оформил через
Codegear Quality Central.
Далее оказалось, что довольно много времени занимает вызов
Notification из tComponent.InsertComponent. В целях эксперимента в
наследнике tComponent переопреднлил tComponent.Notification, в котором
при операции opInsert ничего не делается, в результате компонент загрузился нормально,
время загрузки 0.4 секунды. Понятно, что такое перекрытие Notification
можно делать не всегда.