Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Вниз

Монстроидальный 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.197 c
2-1189077582
Yogan
2007-09-06 15:19
2007.09.30
SMTP, POP3 сервер


6-1170324249
Andriy Tysh
2007-02-01 13:04
2007.09.30
Error: 5 - Отказано в доступе. (Dameware)


3-1179972979
Dilmo
2007-05-24 06:16
2007.09.30
Тормозит соединение с базой данных


15-1188542569
Ricks
2007-08-31 10:42
2007.09.30
Какой Delphi лучше установить


2-1188679215
Нуб
2007-09-02 00:40
2007.09.30
Запуск программы как сервис в винде..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский