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

Вниз

Как откомпилировать исходник ~70 Mb?   Найти похожие ветки 

 
Alex____ ©   (2004-06-24 17:55) [0]

Как откомпилировать консольное приложение Delphi размер исходного кода которого около 70 Mb?
Подскажите пожалуйста.


 
Ломброзо ©   (2004-06-24 18:00) [1]

dcc32 myfile.dpr


 
ПсихЪ_клон   (2004-06-24 18:05) [2]


> Alex____ ©   (24.06.04 17:55)

Ты главное время засеки - интересно же!!! Потом расскажешь! (:


 
jack128 ©   (2004-06-24 18:12) [3]

а чем проблема? Или это одним файлом 70 метров. Если так - то этот ивращенец писал - лудше не компилируй ;-)


 
ИМХО ©   (2004-06-24 18:14) [4]

Это операционная система, написанная на Delphi...


 
nikkie ©   (2004-06-24 18:21) [5]

>jack128
лучше пишется через ч...


 
Johnmen ©   (2004-06-24 18:59) [6]

>Alex____ ©   (24.06.04 17:55)  

Откуда взял ?


 
Ломброзо ©   (2004-06-24 21:05) [7]

Кодогенератор, видать


 
ПсихЪ_клон   (2004-06-25 00:13) [8]

Ага, это декомпилированные файлы Виндовса... (:


 
Palladin ©   (2004-06-25 00:18) [9]

Наверное это фотогалерея, выводящаяся через Canvas.Pixels[]... каждый пиксель отдельной строкой...


 
panov ©   (2004-06-28 13:37) [10]

76Мб. исходный код.

ufMain.pas(3009336)
MP.dpr(14)
3009352 lines, 493.53 seconds, 40267228 bytes code, 7745 bytes data.


 
panov ©   (2004-06-28 13:49) [11]

Желающие могут попробовать сами откомпилировать -
http://home.ural.ru/~panov/files/MegaPuper.rar
44кб.


 
raidan   (2004-06-28 14:18) [12]

Лажа.


 
panov ©   (2004-06-28 14:19) [13]

>raidan   (28.06.04 14:18) [12]

Ты о чем так глубокомысленно, выпятив губу?


 
vecna ©   (2004-06-28 15:03) [14]

ПсихЪ_клон
> Ты главное время засеки - интересно же!!! Потом расскажешь! (:

а че тут интересного, у меня исходники 800 мегов, компилится минут за 20


 
Rem   (2004-06-28 15:15) [15]

> у меня исходники 800 мегов

В каком страшном сне ты это придумал? Не позорься!


 
vecna ©   (2004-06-28 15:29) [16]

Rem, а что тут такого позорного ? это огромная корпоративная информационная система под oracle.


 
Anatoly Podgoretsky ©   (2004-06-28 15:59) [17]

panov ©   (28.06.04 13:49) [11]
Ты что подсунул, уже полтора часа компилируется, вечером доложу результаты :-)


 
panov ©   (2004-06-28 16:01) [18]

>Anatoly Podgoretsky ©   (28.06.04 15:59) [17]
А ты dcc32 используешь для компиляции или IDE?


 
Anatoly Podgoretsky ©   (2004-06-28 16:03) [19]

panov ©   (28.06.04 16:01) [18]
Вечером, когда откомпилирую ЭТО га двух компьютерах, а так вккратче ИДЕ


 
panov ©   (2004-06-28 16:05) [20]

>Anatoly Podgoretsky ©   (28.06.04 16:03) [19]
dcc32 значительно быстрее компилирует - около 5-10 минут, из IDE - 30-40 минут


 
MBo ©   (2004-06-28 16:05) [21]

>panov ©   (28.06.04 13:37) [10]
>76Мб. исходный код.
Телепатов нет, код покажи в форуме ;)))))))))


 
_student   (2004-06-28 16:06) [22]

*^&^%%^$&^  какая-то


 
Anatoly Podgoretsky ©   (2004-06-28 16:07) [23]

Славо богу есть модераторы, сразу РО на инфинитн


 
panov ©   (2004-06-28 16:17) [24]

>MBo ©   (28.06.04 16:05) [21]
Телепатов нет, код покажи в форуме ;)))))))))

Сейчас, только дождусь, когда проект в Delphi загрузится...


 
panov ©   (2004-06-28 16:26) [25]

Раз обещал, выкладываю исходник:

unit ufMain;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls, ToolWin, ComCtrls;

type
 TForm1 = class(TForm)
   ToolBar1: TToolBar;
   Button1: TButton;
   pb: TPaintBox;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 X,Y: Integer;
 H,W: Integer;
 cl: Integer;
 i: Integer;
begin
 Randomize;
 H := pb.CLientHeight;
 W := pb.CLientWidth;

 X := Random(H);
 Y := Random(W);
 cl := Random(High(TCOlor));
 pb.Canvas.Pixels[X,Y] := cl;
 X := Random(H);
 Y := Random(W);
 cl := Random(High(TCOlor));
 pb.Canvas.Pixels[X,Y] := cl;

...
//ну тут еще 3 миллиона похожих строк.

 X := Random(H);
 Y := Random(W);
 cl := Random(High(TCOlor));
 pb.Canvas.Pixels[X,Y] := cl;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Form1.DoubleBuffered := True;
end;

end.


 
Anatoly Podgoretsky ©   (2004-06-28 16:28) [26]

Исходник естественно программно генерировала, вот отсюда и берутся проекты на миллоны строк


 
Anatoly Podgoretsky ©   (2004-06-28 16:30) [27]

Кстати при предудущих измерениях пиписек, никто не заявлял о таких больших проектах. :-)


 
panov ©   (2004-06-28 16:31) [28]

>Anatoly Podgoretsky ©   (28.06.04 16:28) [26]

Исходник естественно программно генерировала, вот отсюда и берутся проекты на миллоны строк

Не угадал...
Всё вручную.


 
Sandman25 ©   (2004-06-28 16:34) [29]

[28] panov ©   (28.06.04 16:31)

мне это напомнило мои ранние опыты с unix редактором joe, было интересно узнать его ограничение на размер редактируемого файла. Строку длиной 10 миллионов символов он копировал уже не очень быстро...


 
Anatoly Podgoretsky ©   (2004-06-28 16:37) [30]

Sandman25 ©   (28.06.04 16:34) [29]
Я каждый месяц работаю с логами своего сервера, как правило более 300 мб, очень медленно но работать можно.


 
Anatoly Podgoretsky ©   (2004-06-28 16:39) [31]

Два часа, компиляьло все трудится, лишь бы до конца работы справился, мне интересно сравнить, зачем я деньги тратил на новый компьютер и не обманул ли Борланд, что 64 мб достаточно


 
Sandman25 ©   (2004-06-28 16:42) [32]

[30] Anatoly Podgoretsky ©   (28.06.04 16:37)

сочувствую. время переходить на запись логов в БД :)


 
Anatoly Podgoretsky ©   (2004-06-28 16:48) [33]

Стандартный Апач на Линуксе, смысла переходить куда либо нет, раз в месяц на 10-20 минут.


 
raidan   (2004-06-28 16:52) [34]

Удалено модератором


 
raidan   (2004-06-28 16:53) [35]


vecna ©   (28.06.04 15:29) [16]
Rem, а что тут такого позорного ? это огромная корпоративная информационная система под oracle.

На Делфях писанная? :-/


 
Mim1 ©   (2004-06-28 18:19) [36]

Это только у меня мания крашить все на модули, или у кого нить еще такая идея возникла когда вы услышали про 800мб? :)


 
Rem   (2004-06-28 19:00) [37]

2 vecna
>> это огромная корпоративная информационная система под oracle.

Подрядили половину Китая для написания?


 
raidan   (2004-06-28 19:09) [38]

Че-то больно много 800 Мб...

Наша система тоже не маленькая, но клиентская часть весит "всего" 90 Мб (правда это Power Builder)...
И серверная - 18 Мб, включая стандартную накачку...


 
Anatoly Podgoretsky ©   (2004-06-28 19:54) [39]

Проверка дома на P-IV 2.4 плата Intel d975/ 1.5 gb dual chanel DDR 400 / Win XP Pro / Delphi 5
dcc 13.36 секунд на все
IDE примерно 1 мин подготовка, затем компиляция 5 сек.
Нагружен только один процессор на 80% (тоже не шедевр), память 285 в пиее

Проверка на работе на Cel-433 / 98 b´mb / Win 98 / Delphi 5
IDE проверку не выдержал, Борланд обманул насчет 64 иб, завтра проверю с dcc

Пока вижу, что не зря деньги на компьютер тратил.


 
Anatoly Podgoretsky ©   (2004-06-28 19:55) [40]

Время работы программ 2 секунды (ATI-9200)


 
VMcL ©   (2004-06-28 19:57) [41]

>>panov ©  (28.06.04 13:49) [11]

Borland Delphi Version 14.0
Copyright (c) 1983,2001 Borland Software Corporation
ufMain.pas(34) Hint: Variable "i" is declared but never used in "TForm1.Button1Click"
ufMain.pas(3009336)
MP.dpr(14)
3009352 lines, 314.52 seconds, 40245484 bytes code, 7397 bytes data.


Классный прикол. Буду знакомым предлагать небольшие исходнички на 40 кил в архиве скомпилить :)


 
VMcL ©   (2004-06-28 20:01) [42]

>>VMcL ©  (28.06.04 19:57) [41]

Да, забыл.

Athlon XP 1800 @ 1533 MHz. DDR SDRAM 512 MB. HDD: 7200 об/мин.
OS: Win2K SP4.


 
panov ©   (2004-06-28 20:11) [43]

>Anatoly Podgoretsky ©   (28.06.04 19:54) [39]

Да, дома явно комп неплохой-)


 
Anatoly Podgoretsky ©   (2004-06-28 20:23) [44]

VMcL ©   (28.06.04 19:57) [41]
Только про dcc не говори, но на всякий случай держись подальше, мало ли что :-)

panov ©   (28.06.04 20:11) [43]
На чем у тебя компилировалось, кстати мне пришлось перевести на Д5 - убрать variants. И посмотрю, что завтра будет на работе.
Компьютер конечно хороший, но думаю еще немного усилить, поставить два SATA диска на 250 гб и посмотрю храрактеристики в РАИДе. Жалко что win98 погиб из за памяти, видишь ли ему 1.5 мало :-) На 512 работало очень великолепно.

Кстати мы ответили на сам вопрос - откомилировать ~70 мб можно и не страшно, даже в ИДЕ.


 
VMcL ©   (2004-06-28 20:50) [45]

>>Anatoly Podgoretsky ©  (28.06.04 20:23) [44]

>Только про dcc не говори, но на всякий случай держись подальше, мало ли что

Не врубился. Это ж ДеЦеЦой скомпилил, сейчас Идой пробую.


 
VMcL ©   (2004-06-28 21:09) [46]

Да уж. В IDE тяжело пошел. Время не замерял, но визуально дольше - и открыть сначала надо, да и компиляция шла дольше, плюс, судя по ТаскМанагеру, памяти "съелось" гораздо больше, что и не удивительно. Результат - 40 меговый exe"шник. Ща будем его UPX"ом жать...  ;)


 
Anatoly Podgoretsky ©   (2004-06-28 21:15) [47]

Это тебе не исходника, не получишь такого результата, но все равно будет не плохо


 
VMcL ©   (2004-06-28 21:25) [48]

>>Anatoly Podgoretsky ©  (28.06.04 21:15) [47]

Ну это понятно, но все равно интересно. Вот что вышло.
timer:C:\Progra~1\UPX\upx.exe --best X:\MP.exe
Время, померянное плагином timer: 14,020 c.

Протокол:

                    Ultimate Packer for eXecutables
           Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
UPX 1.20w        Markus F.X.J. Oberhumer & Laszlo Molnar        May 23rd 2001

       File size         Ratio      Format      Name
  --------------------   ------   -----------   -----------
 40303104 ->    185344    0.46%    win32/pe     MP.exe


 
VMcL ©   (2004-06-28 21:31) [49]

Вот еще для сравнения:

MP.exe    ?40303104
MP.exe.rar? 3539065
MP.exe.zip? 7667468
MP.upx.exe?  185344


Забавно. UPX на данном конкретном exe-шнике показал себя прям демоном сжатия :)


 
VMcL ©   (2004-06-28 21:32) [50]

Упс.

MP.exe       40303104
MP.exe.rar   3539065
MP.exe.zip   7667468
MP.upx.exe   185344


 
panov ©   (2004-06-28 21:48) [51]

Жуть какая-)


 
KilkennyCat ©   (2004-06-29 00:22) [52]


> VMcL ©   (28.06.04 21:32) [50]


А не могли бы вы скинуть мне этот исходник? И екзешник. И без архива - я не умею пользоваться архиваторами. На мыло :))


 
VMcL ©   (2004-06-29 07:59) [53]

>>KilkennyCat ©  (29.06.04 00:22) [52]

Ну exe-шник легко: MP.upx.exe - 185344 :)


 
Anatoly Podgoretsky ©   (2004-06-29 09:12) [54]

Anatoly Podgoretsky ©   (28.06.04 19:54) [39]
Проверка на работе на Cel-433 / 98 b´mb / Win 98 / Delphi 5
IDE проверку не выдержал, Борланд обманул насчет 64 иб, завтра проверю с dcc


Вот обещаная проверка

dcc 1509,79 секунд на все

Разница впечатляет, более чем в 100 раз


 
ПсихЪ_клон   (2004-06-29 10:15) [55]

Раз UPX так круто покромсал сею прогу (40.303.104->185.344), видать много там всякого дерьма ненужного было. Некто криворукий писал сею прогу. И не просто криворукий, а ещё и через задницу, простите за столь бурные выражения... (: Такого быть не должно, а раз есть, то всё это неспроста... (:


 
SammIk ©   (2004-06-29 10:21) [56]

2[55]
УПСа сжала ее, а качество сжатия напрямую зависит от
частоты повторяемости фрагментов. Делоем вывод, что программа
состоит из одного алгоритма, повторяемогно N-ое кол-во раз.
Что собсно видно из[25].
Могу сказать больше, вся программа - одно большое дерьмо(да простят мордерци).


 
Плохиш ©   (2004-06-29 10:41) [57]

>ПсихЪ_клон   (29.06.04 10:15) [55]
>SammIk ©   (29.06.04 10:21) [56]

И чего вы, такие сурьёзные, сдеся делаете? ;-)


 
Anatoly Podgoretsky ©   (2004-06-29 10:42) [58]

SammIk ©   (29.06.04 10:21) [56]
Есди ты такой умный, то почему такой бедный?


 
panov ©   (2004-06-29 10:43) [59]

>ПсихЪ_клон   (29.06.04 10:15) [55]
>SammIk ©   (29.06.04 10:21) [56]

А вам кто-то сладкое обещал?

Сегодня сделаю для теста исходник на 500Мб.
Запущу компилировать, и буду смотреть, как W2000 тухнет...


 
Плохиш ©   (2004-06-29 10:43) [60]

>Anatoly Podgoretsky ©   (28.06.04 20:23) [44]

> Кстати мы ответили на сам вопрос - откомилировать ~70 мб
> можно и не страшно, даже в ИДЕ.

К тому же очень хороший аргумент для руководста при выбивании денег на новую технику ;-)


 
SammIk ©   (2004-06-29 10:43) [61]

Можно и геиговые исходники делать, даже можно не в одном модуле!!
И что это дает? Зачем все это?


 
SammIk ©   (2004-06-29 10:46) [62]

2[56]
А вы в этом уверенны?)))


 
Плохиш ©   (2004-06-29 10:47) [63]


> panov ©   (29.06.04 10:43) [59]
> Сегодня сделаю для теста исходник на 500Мб.

Ждём-с :-))


 
Anatoly Podgoretsky ©   (2004-06-29 10:53) [64]

panov ©   (29.06.04 10:43) [59]
И опять ручками будешь делать текст, пожалей пальчики, напиши генератор :-)


 
panov ©   (2004-06-29 11:03) [65]

>Anatoly Podgoretsky ©   (29.06.04 10:53) [64]

Уже пишу-)


 
Anatoly Podgoretsky ©   (2004-06-29 11:14) [66]

panov ©   (29.06.04 11:03) [65]
Кстати 500 мб это будет уже нагрузка на винчестер, а не на компилятор. Памяти надо 2 гб, а то получится тестирование винчестера.


 
panov ©   (2004-06-29 11:16) [67]

>Anatoly Podgoretsky ©   (29.06.04 11:14) [66]
Да, пожалуй...
Просто проверю, какое время займет компиляция такого объема исходника.
Чтобы не мелочиться, исходник будет почти 1 Гб.


 
Anatoly Podgoretsky ©   (2004-06-29 11:19) [68]

panov ©   (29.06.04 11:16) [67]
А вот это уже интересно, по идее должно не хватить памяти.


 
Плохиш ©   (2004-06-29 11:25) [69]


> Anatoly Podgoretsky ©   (29.06.04 11:19) [68]

Ну поставим свап-файл гигабайтов на 10 и посмотрим :-)


 
panov ©   (2004-06-29 11:26) [70]

Исходник: 963Мб.
>
Borland Delphi Version 14.0
Copyright (c) 1983,2002 Borland Software
ufMain.pas(9579062) Fatal: Out of memory


 
Anatoly Podgoretsky ©   (2004-06-29 11:29) [71]

А я знал :-)


 
panov ©   (2004-06-29 11:32) [72]

>Anatoly Podgoretsky ©   (29.06.04 11:29) [71]
да уж.
Все-таки хочется попробовать скомпилировать. Может, позже перезагружу ПК, установлю Swap на десяток гигабайт, и запущу на ночь компилировать.


 
Anatoly Podgoretsky ©   (2004-06-29 11:42) [73]

panov ©   (29.06.04 11:32) [72]
Swap не поможет, ограничение по адресу для пользовательских программ 2 гб, но для проверки не помешает.


 
GuAV ©   (2004-06-29 13:44) [74]

А зачем это компилятору потребовалось столько памяти? он что не может откомпилированный код сливать в экзешник из памяти? или уже сегмент кода компилируемой проги границу превысил?


 
VMcL ©   (2004-06-30 01:29) [75]

>>panov ©  (29.06.04 10:43) [59]

500 МБ? Нет, не надо!  :O  У меня при компиляции 70-метрового исходника dcc32 (по показаниям таск-манагера) порядка полугига съел, то есть всю свободную оперативку плюс еще и в своп залез.



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

Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.63 MB
Время: 0.05 c
1-1088119523
ZiRoCool
2004-06-25 03:25
2004.07.11
INI-Файлы


14-1087822292
RealRascal
2004-06-21 16:51
2004.07.11
Диалог с произвольными кнопками


1-1088198532
jktu
2004-06-26 01:22
2004.07.11
Вопрос о формуле


14-1087926324
Profi
2004-06-22 21:45
2004.07.11
Помогите выбрать резак


6-1084522330
0597345
2004-05-14 12:12
2004.07.11
Как работать с WinSock на АПИ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский