Rychlost výsledného kódu u jednotlivých verzí Delphi

vložil Radek Červinka 16. července 2010 23:23

Přiznám se, že toto jsem neplánoval.

Jak jsem připravoval tu soutěž ohledně programování, tak jsem si to samozřejmě musel referenčně zkusit. Psal jsem to v Delphi 2010 a po odladění mne napadlo, zda to půjde přeložit i neunicode verzí - samozřejmě to šlo bez problémů, ale rychlost zpracování byla celkem rozdílná a to jsem v podstatě nic neměnil - kromě odstranění direktiv, kterým starší verze nerozumí.

No a když už jsem byl v tom, tak jsem to zkusil se všemi verzemi co mám nainstalované. A tady je výsledek.

Jedná se o syntetický test, ale přesto něco ukazuje. Velikosti EXE jsou převážně způsobené použitím Classes, což v případě D2010 přilinkovalo velké množství RTTI informací.

Jen pro jistotu: pro tento test jsou použita jiná data než pro soutěž, takže z toho nic nevyvozujte ohledně rychlosti vaší implementace.

Verze         "čas" - Velikost EXE

Delphi 5    - 12781 - 58880
Delphi 7    - 10125 - 88576
Delphi 2007 - 4562  - 94208
Delphi 2009 - 6610  - 147968
Delphi 2010 - 6579  - 300544

Velmi mne zarazil rozdíl mezi Delphi 2007 a staršími verzemi. Je evidentní, že optimalizace v RTL a lepší generování kódu se fakt vyplatilo.

D2009 je první unicode verze - je tam to nešťastné testování řetězců v RTL pro kompatibilitu s C++Builderem. Ale i tak to není špatné. Navíc toto testování se určitě odstraní.

Tagy: , ,

Optimalizace

Komentáře

10.12.2012 13:40:51 #

Daniel Andrascik

Pekne je to takto vidiet spisane do tabulky. Aj ked je test ako hovoris "synteticky" nechcel by si ho aktualizovat aj pre novsie verzie delphi? Stacilo by od D2007 po sucasne XE3. Ja nemam sancu dostat sa ku vsetkym IDE aby som si to vyskusal...

Daniel Andrascik

10.12.2012 14:11:59 #

radekc

To je problém, mam už jiný počítač, takže bych to musel znova všechno zkoušet a hlavně už nemám některé verze nainstalované.

Obecně platí, že od 2006 jsou jak RTL optimalizovanější (s tím, že se postupně optimalizovalo), tak i některé části kompilátoru produkují optimálnější kód. Mezi 2007 a 2009 je menší skok zpět, k vůli unicode.

radekc

14.12.2012 15:47:32 #

Daniel Andrascik

A aspon ten kod s ktorym si to meral nahaodou este nemas? Momentalne mam na pokusy nainstalovane dve, alebo tri IDE (neviem ci to tretie je este prevadzky schopne) a prave som si spomenul ze asi ku dvom verziam mam odlozene aspon kompilatory pouzitelne cez prikazovy riadok...

Daniel Andrascik

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců