Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размер приложения XE2, увеличился в 5 раз ? 
:(
    Опции темы
StayAtHome
Дата 5.6.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



Keeper89, критична скорость загрузки плагина, считаю что грузить 2,5 МБ будет дольше чем 0, 5 МБ. Да, поскольку это DLL вероятно повторный вызов будет уже без посторной загрузки (вероятно т.к. не сильно искушен в архитектуре TC). Но такой рост размера меня лично сильно шокирует smile Аж охота пользоваться XE2 пропала.
Упаковать -- выиграем в размере, проиграем в скорости распаковки. Смысл? 
PM MAIL WWW ICQ YIM   Вверх
Alexeis
Дата 5.6.2012, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(StayAtHome @  5.6.2012,  15:25 Найти цитируемый пост)
Keeper89, критична скорость загрузки плагина, считаю что грузить 2,5 МБ будет дольше чем 0, 5 МБ.

  Не факт. Винда обычно грузит только то что ей нужно. Обычно делфовый экзешник набивается под завязку всяким лутом типа RTTI или ресурсов. Если сходу не грузить все формы в память, то загрузка будет столь же быстрой как и раньше.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 5.6.2012, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



dll может быть и 300 метров - в память он грузиться целиком не станет.
Вот если он упакован пакером, тогда станет.
Так что не думаю, что размер критичен. Если его заархивировать, то получится всего полметра.
Для инета не критично. Для винта вообще не заметно.
Я бы не заморачивался бы на эту тему.
PM MAIL   Вверх
Alexeis
Дата 5.6.2012, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Вот кстати одна из причин роста монстраобразности исполняемых модулей
Код

// Без рефлексии
var
  foo : TFoo;
begin
  foo := TFoo.Create();
  foo.Hello();
end;
 
// С рефлексией
var
 c : TRttiContext;
 t : TRttiInstanceType;
 foo : TValue;
begin
   c := TRttiContext.Create;
   t := (c.FindType('TFoo') as TRttiInstanceType);
   foo := t.GetMethod('Create').Invoke(t.MetaclassType,[]);
   t.GetMethod('Hello').Invoke(foo,[]);
   c.Free;
end.
//сперто http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29#Delphi_2010



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MetalFan
Дата 5.6.2012, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Alexeis, ухты...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
northener
Дата 6.6.2012, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(MetalFan @  5.6.2012,  22:08 Найти цитируемый пост)
ухты... 

А чему удивляемся? smile


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
MetalFan
Дата 6.6.2012, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



northener, да я просто сам таким не пользуюсь... примеры видел, но видать забыл уже, что такое возможно.
А практическое применение такому где может быть?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
bems
Дата 6.6.2012, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Цитата(Keeper89 @  5.6.2012,  03:08 Найти цитируемый пост)
bems, почему? 

потому что это даёт выигрыш только в размере файла на диске, а там не важно сколько занимает дллка.
При загрузке библиотеки она будет распакована в память, что во-первых означает что в памяти занимать она будет не меньше чем неупакованная, а во-вторых распаковка занимает время, и это значит что малый размер файла не даёт выигрыша в скорости загрузки.
Ну и кроме того если в случае неупакованной длл механизм виртуальной памяти позволял при "загрузке" библиотеки реально загружать в оперативу только те страницы что используются в данный момент, то в случае упакованной распаковка идет сразу в оперативу

Это сообщение отредактировал(а) bems - 6.6.2012, 08:46


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Alexeis
Дата 6.6.2012, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(MetalFan @  6.6.2012,  08:18 Найти цитируемый пост)
А практическое применение такому где может быть? 

  Ну одно из применений может быть в купе с компилятором делфей. Самомодифицирующаяся программа. Внутри программы создал код bpl, загрзузил и заюзал, то что только что написал. 
  Можно также представить себе сиситему плагинов, где в xml файле будет описано содержимое плагина (классы и функции), а также несколько вариантов конфигураций, в виде возможных значений параметров (кстати о плагинах). В любом случае это неплохая альтернатива COM. 
  Еще неплохой пример. Браузер грузит html страничку, находит тег embed / object и используя метаинформацию из него определяет кто должен рендерить содержимое и какие данные нужно передать объекту для правильной работы. 
  Вспоминаем типичную схему разработки классов на COM. Написали класс, к нему максимально полный интерфейс. Через пару месяцев возникла необходимость расширить его. Что делаем? Пишем новый дополняющий старый. Потом 3й, 4й 5й и получаем форменное безобразие. С другой стороны далеко не всегда позднее связывание требует максимального быстродействия. Можно сочетать интерфейсы с рефлексией. Например, там где требуется максимальное быстродействие используем COM интерфейсы, которые получаем из объектов, которые были созданы и связаны с основной программой по их строковому описанию.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.