Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Монстроидальный Unit   Найти похожие ветки 

 
Palladin ©   (2007-09-03 09:04) [0]

http://tiravi.narod.ru/mac10.zip (4 491b)

Исходники и получившийся юнит компилируются в теории на любом компиляторе Delphi.

Созданный юнит в ~253Mb (~5 800 000 строк) компилятор (dcc32) от D10 через ~37 часов компиляции завершить ее не смог, по причине EOutOfMemory, скушав примерно 1.8Gb оперативки.
Машина: AMD Athlon 64x2 Dual, 3.25Gb оперативки

В исходных текстах можно подрегулировать параметры создания юнита для создания файлов и поменьше.

Если кто-то помнит исходники от Панова, там, насколько я знаю, была толпа строк SetPixel, здесь же создается страшное дерево классов.

Кому интересно, попробуйте покомпилировать... :) Настройки только поменьше сделайте чтоб не такие страшные файлы создавал... а может у кого и машина покруче имеется... :)


 
Rouse_ ©   (2007-09-03 09:23) [1]

Зачем ты его то выложил? Выложи лучше утилитку которую мне присылал, через которую ты этот юнит генерил :) Архив меньше будет :)


 
Palladin ©   (2007-09-03 09:32) [2]

так я ее и выложил :) он и так не большой :) или ~4Kb это слишком много? :)))


 
Rouse_ ©   (2007-09-03 10:08) [3]

Пардон я прочитал размер как 4 метра, поэтому и подумал что ты сам юнит кинул :)


 
@!!ex ©   (2007-09-03 10:30) [4]

У меня по умолчанию получился 700 метров юнит...
Компилить его боюсь..


 
ZeroDivide ©   (2007-09-03 10:32) [5]


> по причине EOutOfMemory


Под какой осью делфи работала? Возможно стоит попробовать в висте... там памяти должно хватить... лишь бы хватило места под своп на винте :)


 
Palladin ©   (2007-09-03 10:37) [6]


> ZeroDivide ©

MS Windows Server 2003 Datacenter Edition
нету у меня висты :)


 
Anatoly Podgoretsky ©   (2007-09-03 13:21) [7]

Это помощнее Висты, но я бы не стал рисковать.


 
ZeroDivide ©   (2007-09-03 14:52) [8]

Вообще... должно было бы хватить..

Expanded physical memory space. On both 64-bit architectures, Windows Server 2003 R2 Datacenter Edition supports up 2 TB of physical RAM in SP2 (1 TB in SP1). On 32-bit Intel platforms, Windows Server 2003 R2 Datacenter Edition supports Physical Address Extension (PAE), which extends system memory capability to 128 GB of physical RAM.

Странно... а виртуальной сколько откушалось в процессе? Может винт кончился?


 
homm ©   (2007-09-03 14:54) [9]

> Под какой осью делфи работала? Возможно стоит попробовать
> в висте... там памяти должно хватить...

Как виста повлияет на имеющиеся в 32-х битных процессорах (и ос) адресное пространство, в котором 2 гигабайта отдано под клиентские нужды приложения?


 
homm ©   (2007-09-03 14:56) [10]

> Вообще... должно было бы хватить..

Нет, не должно.
>On 32-bit Intel platforms, Windows Server 2003 R2 Datacenter Edition supports Physical Address Extension (PAE), which extends system memory capability to 128 GB of physical RAM.


 
pasha_golub ©   (2007-09-03 15:02) [11]

Не, ну мужики, такого юнита ведь в реале быть не могет? ;)

А вот на 5 мешков (не полностью законченный) это живая реальность. Живет у меня в проектах.


 
ZeroDivide ©   (2007-09-03 15:07) [12]

Че крутить надо, чтобы меньше сгенерить?


 
ZeroDivide ©   (2007-09-03 15:10) [13]


> Че крутить надо, чтобы меньше сгенерить?


Быстрее отвечайте... у меня уже юнит на 300мб нагенерился... и продолжает генерится дальше.


 
ZeroDivide ©   (2007-09-03 15:19) [14]

Нагенерился 500мб

Уже 3 минуты делфя его пытается открыть... просто открыть... не компилировать.
В итоге D10 не смогла открыть такой файл "AV in module boreditu.dll" :)


 
Palladin ©   (2007-09-04 09:44) [15]


> ZeroDivide ©

ну молодец :) кто ж в IDE такой(!) юнит открывать будет... ты бы еще Ctrl-Space нажал бы :)
через консоль компилировать нужно...

подкручивать нужно в исходниках создания, например поменьше вложенность иерархии сделать... там же все на циферках...


 
Palladin ©   (2007-09-04 09:47) [16]


> pasha_golub ©   (03.09.07 15:02) [11]

конечно не может быть :) это так... чисто в исследовательских целях... посмотреть возможности компилятора...


 
Anatoly Podgoretsky ©   (2007-09-04 09:58) [17]

Возможности компилятора в ИДЕ оказались скромными, еще при испытаниях Панова


 
Palladin ©   (2007-09-04 11:11) [18]


> Anatoly Podgoretsky ©   (04.09.07 09:58) [17]

Я бы даже сказал, что очень скромными, IDE от D6 при попытки компиляции уже через 2-3 минуты умерла...

И, кстати, интересное наблюдение. Компиляции юнита в ~800 000 строк заняла ~40 минут, но компиляция набора юнитов (~3000 файлов), аналогичного иерархии классов описанной в одном юните (на каждый класс свой юнит) заняла ~20 секунд...

В планах сделать разбивку сгенеренного огромадного модуля на здоровенную толпу юнитов и попробовать компильнуть ее... вот выдастся еще один скучный обед, сделаю :)


 
pasha_golub ©   (2007-09-04 11:24) [19]


>
> И, кстати, интересное наблюдение. Компиляции юнита в ~800
> 000 строк заняла ~40 минут, но компиляция набора юнитов
> (~3000 файлов), аналогичного иерархии классов описанной
> в одном юните (на каждый класс свой юнит) заняла ~20 секунд.
> ..

Опа. Интереснейший факт. Думаю за счет того, что каждый модуль в итоге будет   в виде .dcu, а уж потом из этой кучи будет выдано на гора нечто единое. Потому и быстрее. Плюс работа парсера существенно облегчается


 
Anatoly Podgoretsky ©   (2007-09-04 12:22) [20]


> И, кстати, интересное наблюдение. Компиляции юнита в ~800
> 000 строк заняла ~40 минут, но компиляция набора юнитов
> (~3000 файлов), аналогичного иерархии классов описанной
> в одном юните (на каждый класс свой юнит) заняла ~20 секунд.
> ..

For I := 1 to 1000000
  StringList.Add

и
StringList.Capacity := 1000000;
For I := 1 to 1000000
  StringList.Add

Это из этой оперы, управление памятью для списков.


 
Anatoly Podgoretsky ©   (2007-09-04 12:23) [21]

> Palladin  (04.09.2007 11:11:18)  [18]

> В планах сделать разбивку сгенеренного огромадного модуля на здоровенную толпу юнитов

Может лучше не развивку, а сразу генерацию толпы?


 
Palladin ©   (2007-09-04 12:32) [22]


> Anatoly Podgoretsky ©   (04.09.07 12:23) [21]

Я это и имел ввиду... так и сделал... получилось 206 669 юнитов... ~ 9 000 000 строк в общей сложности... уже компилирую...


 
Palladin ©   (2007-09-04 15:59) [23]

Как все жестоко :) с толпой юнитов компилировалось уже около 5 часов... но результат все тот же...

http://tiravi.narod.ru/d10_dcc32_bbm2_compile_result.gif

MAC 2.0 http://tiravi.narod.ru/mac20.zip



Страницы: 1 вся ветка

Текущий архив: 2007.09.30;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.025 c
15-1186565545
EvChul
2007-08-08 13:32
2007.09.30
Посоветуйте компоненты для ГИС


15-1188647517
Vlad Oshin
2007-09-01 15:51
2007.09.30
Cookies в Delphi. Нашел статью, в Комп.Пресс (март 2006)


2-1188675339
WebSQLNeederr
2007-09-01 23:35
2007.09.30
inttostr(i/100) а КАК?


8-1165830501
T54
2006-12-11 12:48
2007.09.30
Захват видео из области экрана монитора


15-1187189111
Morpheuz
2007-08-15 18:45
2007.09.30
Vista?