Autor Téma: Delphi 10 Seattle upgrade 1 a balíčky  (Přečteno 7456 krát)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3466
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #15 kdy: 17-12-2015, 09:51:16 »

Asi před 4 roky, když jsem přecházel z delphi5 na delphixe, tak jsem překládal jedny zdrojáky v obou verzích a delphi5 bylo minimálně o 1/3 rychlejší.(komponenty 3. stran byly sice v balíčkách, ale pro nové delphi skoro 2x větší, takže to porovnání není úplně přesné).


To zpomalení mne neprekvapuje, jednak od cca D2007 umi kompilator mnohem lepe optimalizovat (inline atd. coz neco zabere), druhak XE umi generika a to trosku kompilaci zpomalilo, i kdyz se v projektu nepouzivaji.
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #16 kdy: 17-12-2015, 10:49:51 »
To by mě zajímala velikost výsledného souboru, který to dokáže vytvořit za 3.47 s. na obyčejných discích.
Prelozil jsem znovu tu nejvetsi aplikaci tj. VCL desktop klienta a tohle pise prekladac:
Kód: Delphi [Vybrat]
  1. CodeGear Delphi for Win32 compiler version 18.5
  2. Copyright (c) 1983,2007 CodeGear
  3.  
  4. sgxclt.dpr(50) Warning: W1054 ** SGXCLT SHOULD NOT BE RELEASED WITH OPTION DS&T ** See directive vccDSaTonly
  5. sgxclt.dpr(54) Warning: W1054 ** SGXCLT SHOULD NOT BE RELEASED WITH MY SETTINGS ** See directive vccPF1957
  6. 979542 lines, 3.20 seconds, 5922528 bytes code, 274936 bytes data.
  7.  
Vysledny exe ma ~7.1 MB, nasich zdojovovych souboru je odhadem 400, protoze uses klauzel se hemzi ifdefy, takze to nejde jednoduse odecist.

Jedna drobna korekce: kdyz jsem meril ty casy vcera, tak jsem nejprve hledal, ktery batch mam spustit jen pro preklad, protoze normalne z menu u Faru vyberu build a ve spravnem adresari podle customizace mi vyleze instalacka, takze jsem si to trochu nakesoval.

Dnes jsem od rana delal ve Visual Studiu 2015 s .NETem, takze kdyz jsem spustil build, tak casy byly 6.86, 3.25, 3.25, .... takze si to nekde nekdo docela ucinne kesuje.

Abych se priznal, tak presne nevim, co mi to pod stolem bezi, to jsem si nechal postavit od syna, ktery tomu narozdil odemne rozumi, ja uz HW davno nesleduju. Me staci, ze je to spolehlivy a nezdrzuje to.

Jo a v tom pocitaci nejsou nainstalovany zadne zbytecnosti, jen to, co doopravdy pouzivam. Trvale mam spusteny Process Explorer od SysInternal a docela uzkostlive si strezim, co se mi v tom bezi... A samozrejme zadny run-time antivirus, ten by taky mohl tropit sve: ja si pamatuju, jak nam v bance scanovali tracelog, ktery rostl o nekoli kB kazdou vterinu. A tenkrat z toho sel pocitac dokolen - to scanovani sezralo cely vykon.


Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #17 kdy: 17-12-2015, 11:50:00 »
A jeste jedna vec me napadla: instalace D2007 je panensky cista tj. neni v nem nainstalovana zadna dalsi komponenta. Pokud se pouzivaji komponenty 3. stran, je s nimi zachazeno jako napr. se Synapsi vcetne napr. VirtualTreeView tj. zadne klikani v design time, vsechno se dela v run-time => bude to mit "hubene" .dfm soubory, coz by mohlo byt vysvetleni, protoze AFAIK, tak prekladac o tom, kolik radku z .dfm zpracoval zadne info neposkytuje.

Ostatni resources a version info jsou v .RC souborech a prekladany jsou samostatne brcc, takze nejsou zahrnuty v casech prekladu.



Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #18 kdy: 17-12-2015, 12:00:16 »
A jeste jednu zvlastnost ty aplikace s ksichtem maji: vsechna okna na urovni Delphi obsahuji pouze Baldwinuv HTML viewer a do nej se ctou HTML dokumenty, ktere obsahuji kontejnery v podobe TPanelu a na nem v podobe pluginu zije veskery VCL kod. Mj. to ma za nasledek, ze vsechny texty jsou lokalizovany mimo prekladac (i resources) a lezi v HTML (resp. v .INC souborech), odkud si je run-time taha.

Ale vic uz me k tomu nenapada.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #19 kdy: 17-12-2015, 17:48:01 »
service548 884 radku2.09 s
VCL console k service816 458 radku2.77 s
VCL desktop client979 5423.47 s
Pro zajimavost, kdyz jsem tech mereni udelal serii, (v nakesovanem stavu), tak mi vychazi u vsech 3 projektu rychlost prekladu ~ 300 000 radku/sekundu s odchylkou mensi nez 2 %.

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 575
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #20 kdy: 18-12-2015, 10:42:07 »
A jeste jednu zvlastnost ty aplikace s ksichtem maji: vsechna okna na urovni Delphi obsahuji pouze Baldwinuv HTML viewer a do nej se ctou HTML dokumenty, ktere obsahuji kontejnery v podobe TPanelu a na nem v podobe pluginu zije veskery VCL kod...

Tak toto je hodne zaujimave...

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3466
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #21 kdy: 18-12-2015, 13:57:46 »
A jeste jednu zvlastnost ty aplikace s ksichtem maji: vsechna okna na urovni Delphi obsahuji pouze Baldwinuv HTML viewer a do nej se ctou HTML dokumenty, ktere obsahuji kontejnery v podobe TPanelu a na nem v podobe pluginu zije veskery VCL kod...

Tak toto je hodne zaujimave...

Taky si myslím, jen mi to dnes po vanocnim vecirku nejak nemyslí, takže si musím všechny plusy a mínusy promyslet.

Mne taky zaujalo, že vůbec nedáváš Gui komponenty na formulář - já mám sice hodně (a opravdu hodně věcí z kódu, včetně všech datasetů), ale přece jen vytvářet tlačítka z kódu nebo napojovat OnClick, pokud to není nutné mi přdejde trošku přes čáru a zdržující.
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #22 kdy: 18-12-2015, 19:16:15 »
Tak toto je hodne zaujimave...
Jo, udelat GUI jako web u desktopove aplikace se jevilo perspektivne a Baldwinuv napad poskytnout kontejner v podobe panelu a k nemu eventy OnPanelCreate a OnPanelDestroy byla cesta, jak propojit web s VCL. Ale bohuzel, vyvoj browseru nestihal nejen Baldwin, takze dneska je to o nicem.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi 10 Seattle upgrade 1 a balíčky
« Odpověď #23 kdy: 18-12-2015, 19:30:47 »
Mne taky zaujalo, že vůbec nedáváš Gui komponenty na formulář
Vsechno se udelalo jednou u prapredka: kontejner na tlacitka v podobe toolbaru nahore a subpanel s par tlacitky OK/Cancel/Save aj. dole. Zbytek okna byl vetsinou nejaky potomek VTV, treba uzpusebeny na in-place editovani ve stromu. Tlacitka na toolbaru byla stejne velka, takze jsi jen deklaroval kolekci obrazku, actions, textu a hintu a predek si je tam v run-time nasazel. A tlacitka dole treba uplne skryla i se subpanelem, pokud neslo o modalni dialog nebo jejich viditelnost upravil po jedne podle pozadavku potomka. Udalosti si priradil taky predek a plival je v podobe virtualnich metod. Nektere sam osetril, jine si potomkove v pripade potreby prekryly. Predkove mely virtualni chain pro validaci etc... Eventy u VTV byly taky virtualizovane, protoze tam se stejne muselo traversovat stromem, aby se zjistilo, co se ma delat...