Diskuze: předávání structu v parametru
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Já odebírám německý dotnetpro, kde se tu a tam řeší právě podobné
problémy optimalizace (témata jsou různá od optimalizace vkládání
položek do DB pomocí různých metod až třeba po optimalizaci práce pomocí
GC). Případně doporučím DNC.
Jako dobrý zdroj na různá zákoutí programování používám agregátor
článků z https://csharpdigest.net/. Taky se tu a tam objevují
zajímavá témata právě na temná zákoutí optimalizace anebo rozebírají
někteří autoři některé mechaniky skutečně do hloubky.
Ale neznám žádný obecný zdroj, kde se dá tohle nějak instantně najít.
Napadá mě snad ještě stackoverflow.com kde se na některé specifické
dotazy dají projít různá řešení a další informace. Např. zde.
Ohledně GC v Unity bych hledal spíš zdroje podobné těmto orientavané právě na uplatnění optimalizace v
engine Unity.
Pokud do funkce předáváš struct, tak se celý kopíruje, pokud class,
kopíruje se jen reference na ni.
Takže větší struct vs větší class je rychlejší předat jen odkaz na
třídu, než kopírovat celý struct. Plus samozřejmě když vytvoříš kopii
structu, GC se pak o to musí postarat.
GC a unity - na větší množství objektů je většinou nejlepší používat nějaký pool, prostě mít vytvořený pole/list objektů a místo mazání si u nich třeba jen hlídat, jestli jsou aktivní nebo ne, ale detaily implementace už záležej na tom, o co se snažíš.
Zobrazeno 3 zpráv z 3.