Sledování času trvání makra a dopad definice proměnných na rychlost

V tomto článku je popsáno, jak sledovat dobu trvání makra nebo části makra, a také jaký dopad má definice proměnných na délku trvání.

Sledování doby trvání makra je velmi užitečné pro ladění výkonnosti makra. Tedy když potřebujeme sledovat, jak se doba trvání makra mění v závislosti na změnách, které děláme.

Princip je jednoduchý. Na začátku uložíme (funkcí Timer) čas začátku, a na konci tuto hodnotu odečteme od času zaznamenaného na konci. Výsledek je logicky roven době trvání makra. 

 

V uvedeném kódu si můžeme i ukázat, že zajímavý dopad na výkonnost má deklarace proměnných. Pokud bychom například zapomněli deklarovat proměnné x a y (s těmi se pracuje v každém cyklu a jejich dopad je tedy klíčový), prodlouží se výrazně doba trvání makra. 

Tento rozdíl je způsobený tím, že pokud proměnnou nenadefinujeme, nastaví si ji aplikace automaticky na typ "variant". Ten je ale ze všech typů paměťově nejnáročnější - zabere 16 bajtů, zatímco např. "integer" jen dva bajty, "long" a "singl" 4 bajty a "double" 8 bajtů.

S větším objemem dat se logicky pomaleji manipuluje a makro probíhá pomaleji. V našem případě to vychází na mém trochu obstrarožním Lenovu na lehce přes 20 sekund s deklarací proměnných x a y a kolem 56 sekund bez deklarace.  Rozdíl je tedy zásadní.

Pomalý kód bez funkčních deklarací je jako odstrašující příklad tady. Rozdíl v trvání si můžete vyzkoušet.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

Firemní kurzy

  • Přemýšlíte o firemním školení Excelu?
  • Školíme Excel od začátečníků po experty, ale také PowerPoint, PowerPivot nebo Access.
Mám zájem o kurz

Individuální výuka

Mám zájem o výuku

Vývoj aplikací v Excelu (makra - VBA)

  • Vyvíjíme aplikace pro potřeby firemních zákazníků
  • Reporty, vizualizace dat, harmonogramy, plánování
  • Slučování dat ze souborů, agregace, exporty
Zajímám se o vytvoření aplikace

Kontakt

  • Tel: +420 602 274 999
  • Mail: info@vyuka-excelu.cz
Kontaktní formulář
TOPlist