NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Má počet parametrů vliv na rychlost volání funkce?

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Michal Hadraba:3.6.2023 10:01

Ma počet a typ parametrů zasadni vliv na volání funkce?

Zkusil jsem: Hledal na netu, leč marně. Samozřejmě bych to mohl změřit...

Chci docílit: Mám statickou funkci pro zápis do registrů a v každém modulu ukládám informace do jiné cesty v registrech. Modul volá funkci opakovaně. Otázka je, zda volat funkci s parametrem LPCSTR cesty, či zda vytvořit třídu s vlastnosti lsPath a do ní vždy nejprve před aktivaci daného modulu uložit cestu,a pak volat funkce bez tohoto parametrů.

 
Odpovědět
3.6.2023 10:01
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Michal Hadraba
DarkCoder:3.6.2023 11:52

Počet parametrů i jejich typ má vliv na rychlost volání funkce. Žádost o poskytnutí paměti a její alokace na zásobníku, stejně tak uvolnění paměti zpět OS, stojí procesorový čas. Čím více parametrů, tím je inicializace funkce pomalejší neboť žádostí o poskytnutí paměti je více. Typ parametrů má rovněž negativní vliv na rychlost. Je třeba obrovský rozdíl předat funkci ukazatel na strukturu nebo strukturu jako celek. Pokud se část kódu volá opakovaně a je potřeba předávat hodnoty, řeší se to pomocí dvou bloků, kde druhý je vnořen do prvního. Data jsou deklarovaná vně bloků, nastavována ve vnějším a zpracovávána ve vnitřním. Tímto způsobem se minimalizuje množství zbytečných úkonů které zpomalují provádění funkce.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
3.6.2023 11:52
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.