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 publikována.

*

smazat formulářOdeslat komentář