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

Вниз

Скорось приложений   Найти похожие ветки 

 
BorisMor ©   (2006-08-31 13:46) [0]

Немного философский вопрос: вы замечали влияние версия Delphi на скорость приложения или прожорливость памяти ?
Т.е. приложение написанное на Delphi3 работало быстрей чем откомпилированное на D7

Требуется написать приложения которое будет эксплуатироваться на старом железе (Pentium 200 или типа того) вот и задались вопросом.


 
DVM ©   (2006-08-31 13:48) [1]


> Требуется написать приложения которое будет эксплуатироваться
> на старом железе (Pentium 200 или типа того) вот и задались
> вопросом.

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


 
Джо ©   (2006-08-31 13:50) [2]

В BDS 2006 сменили менеджер памяти. Вроде бы из-за этого наблюдается некий прирост производительности на некоторых операциях с памятью (длинные строки и проч). Сам не проверял.


 
Desdechado ©   (2006-08-31 13:52) [3]

Размер все время растет, т.к. классы усложняются.


 
BorisMor ©   (2006-08-31 14:23) [4]


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

БД. Походу будет локальной.


 
Карелин Артем ©   (2006-08-31 14:26) [5]

Скорость работы компонентов IBX при выборке из базы в D5 непатченной/неапдетенной на порядок меньше чем в D7.


 
BorisMor ©   (2006-08-31 14:26) [6]


> В BDS 2006 сменили менеджер памяти. Вроде бы из-за этого
> наблюдается некий прирост производительности на некоторых
> операциях с памятью (длинные строки и проч). Сам не проверял.

а где почитать про это ?
вообще интересует сравнение разных версий D.


 
Romkin ©   (2006-08-31 14:34) [7]

BorisMor ©   (31.08.06 14:23) [4] Как правило, скорость работы с БД определяется самой БД. Сколько запрос идет - столько и будет, и разница, вносимая разными версиями D вряд ли будет значимой. Возможно, правда, замедление из-за нагруженности форм и модулей, но это оптимизируется структурой приложения (читай - руки прямые иметь надо) :)


 
Ганна Юхимівна   (2006-08-31 14:50) [8]

Борис - послушайте совет: "Не морочьте себе голову"

Влияние на скорось работы при смене версии среды - несколько %
Влияние на скорось работы при изменении алгиритма - десятки раз :)

Согласитесь - это время что Вы прододите на форуме - лучше потратить на усовершенствование алгоритма.


 
Джо ©   (2006-08-31 15:10) [9]

Все-таки, менеджер памяти чуть быстрее стал :) Вот такой дурацкий код:

procedure TForm1.Button1Click(Sender: TObject);
var
 I: Integer;
 Ticks: Cardinal;
 Arr: array of Integer;
begin
 {$O-}
 Ticks := GetTickCount;
 for I := 1 to 10000000 do // 10 million iterations
   SetLength (Arr,I);
 {$O+}
 Ticks := GetTickCount - Ticks;
 ShowMessageFmt ("%d ticks elapsed",[Ticks]);
end;


в Delphi 6 у меня отрабатывает за 1300 тиков, а в BDS 2006 -- за 1000. Мощный прирост производительности налицо ;)


 
Palladin ©   (2006-08-31 15:13) [10]

Ганна Юхимівна - не морочте нам голову, очень весомую часть нагрузки во время исполнения берет на себя RTL (соответственно и VCL), алгоритм - это конечно первое на что нужно смотреть при оптимизации, но при одинаковых алгоритмах в разных версиях Делфи разница в производительности может быть ощутима. и не на несколько %


> Влияние на скорось работы при смене версии среды

более того, среда вообще никак не влияет на скорось работы приложения, а вот сопутствующие библиотеки, которые имеют отношение к линковке, очень и очень. Разница между менеджерами памяти D6 и BDS2006 (может и более раней версией) очень разительная, многочисленное выделение и перераспределение небольших объемов возросло именно в десятки раз, проверено на себе...

от версии к версии изменяется не только среда, но, что значительно важней, и RTL


 
Ганна Юхимівна   (2006-08-31 16:35) [11]


> Palladin ©   (31.08.06 15:13) [10]
> очень весомую часть нагрузки во время исполнения берет на себя RTL


Уважаемый Тимур
Вы конечно же правы - но только частично... позвольте с Вами не согласиться и привести как аргумент маленький кусок кода:


 for i := Low(FALabels) to High(FALabels) do
   with FALabels[i].EditLabel do begin
     hexstr := IntToHex(i, 2);
     intstr := IntToStr(i);
     case FormatNum of
       2: s := AnsiChar(i) + " $" + hexstr;
       3: s := AnsiChar(i) + " (" + intstr + ")";
       4: s := AnsiChar(i) + " $" + hexstr + "(" + intstr + ")";
       5: s := AnsiChar(i) + " (" + intstr + ")" + "$" + hexstr;
     else
       s := AnsiChar(i);
     end;
     Caption := s + StringOfChar(" ", MAX_Lenght - Length(s));
   end;


обратите внимание на подчеркнутую часть - если её убрать что будет ?
так вот скорость работы этого куска кода что в Делфай 5 что в 7 отличается очень мало - но при изменении алгоритма ускоряется в разы !
и таких примеров куча...

... а то что Вы начали предираться к слову "среда"  - так я считаю это ханжеством и неуважением с Вашей стороны - Вы же сами понимаете что понятие более обширное...  "Мелко мыслите господа" (с)


 
TUser ©   (2006-08-31 16:47) [12]

Имхо, если скорость/память критична, то проблема решается изменением алгоритма. А если не критична (а обнаруживается только проглядыванием с GetrTickTime&Ko) - тогда нафиг.


 
TUser ©   (2006-08-31 16:47) [13]

Короче от компилятора на практике ничего не зависит.


 
Palladin ©   (2006-08-31 17:15) [14]


> Ганна Юхимівна   (31.08.06 16:35) [11]

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


 
Ганна Юхимівна   (2006-08-31 17:23) [15]


> Palladin ©   (31.08.06 17:15) [14]


Вот тут с Вам соглашусь полностью :)

Простите и Вы меня если что... наверняка автор вопроса не хочет видеть взаимные разборки.



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

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

Наверх




Память: 0.51 MB
Время: 0.027 c
15-1157456068
H010d Freeze
2006-09-05 15:34
2006.09.24
Build проекта из командной строки


9-1135937830
Cr@zy-EyE
2005-12-30 13:17
2006.09.24
Не запускается Direct3d


15-1157311852
ramzes2
2006-09-03 23:30
2006.09.24
пропадает форма


2-1157017070
BronOS
2006-08-31 13:37
2006.09.24
доступ к объекту на форме MDI Child


3-1153561492
HelloWord
2006-07-22 13:44
2006.09.24
Метод delete в компоненте ADOQuery