Apex Speed Test-Dělá Systém.Debug () cost CPU limit?

Apex Speed Test Experiment:
tento blog je součástí experimentů Apex Speed Test.
tyto experimenty kontrolují, zda při psaní kódu děláme něco špatně? Co je dobré psát nebo co ne? Je váš jediný řádek kódu zabíjení limit CPU?
dělám experimenty, co jsem našel. Jste zde velmi vítáni, pokud máte něco, co lze přidat do těchto experimentů
#CodeShouldNotEatCPU # CPUScientist

náš Experiment:
v tomto experimentu zkontrolujeme, zda systém if.ladění jedí váš čas procesoru nebo ne.

budete potřebovat:
počítač, prohlížeč, Salesforce Org a 2000 lead records.

začněme:
pro tento experiment jsme vzali 2000 záznamů olova. Dotazujeme se na tyto záznamy a iterujeme smyčkou. Vytvořte tuto třídu ve svém vývojářském org.

https://gist.github.com/TheVishnuKumar/fe5b64dd906bb9964ec450f9f403a343

Experiment 1:
v tomto experimentu nepoužíváme žádné ladění. Otevřete konzolu pro vývojáře. Nyní Otevřete Okno Spustit Anonymní. (Tato možnost je v nabídce ladění.)
Zkopírujte tento kód ApexSpeedExperiment_1.runExperiment1 (); a spusťte jej z vývojářské konzole. Tuto metodu jsem nazval 5krát a zde jsou výsledky.

Výsledek: Průměrná doba je 29.2 Milisekund.

Experiment 2:
v tomto experimentu používáme ladění systému. Otevřete konzolu pro vývojáře. Nyní Otevřete Okno Spustit Anonymní. (Tato možnost je v nabídce ladění.)
Zkopírujte tento kód ApexSpeedExperiment_1.runExperiment2 (); a spusťte jej z vývojářské konzole. Tuto metodu jsem nazval 5krát a zde jsou výsledky.

Výsledek: Průměrná doba je 110 Milisekund.

závěr:
podle našich experimentů, systém.ladění spotřebuje limit CPU.
1. Je dobře, že bychom měli ve výrobě používat potřebné debugy.
2. Nepoužívejte debugy pro odpověď API. Protože odpovědi API mohou být příliš velké.
3. Nevytiskněte celou instanci záznamu v ladění.
4. Pokud jsou potřeba velké ladění, použijte vlastní nastavení ve výrobě pro tisk ladění. Expo:
if (isDebugOn) {
system.debug (‚vaše ladění‘);
}
5. Před nasazením kódu do výroby odstraňte nežádoucí ladění.

Poznámka: Pokud je protokolování vypnuto, hovor stále probíhá. Pokud bude proveden jakýkoli řádek kódu, který je zapsán v kódu, a bude se počítat s časem provedení.
podle dokumentu pro vývojáře Salesforce:
pokud argument msg není řetězec, metoda ladění volá řetězec.valueOf převést na řetězec. řetězec.metoda valueOf volá metodu toString na argumentu, pokud je k dispozici, nebo jakoukoli metodu overridden toString, pokud je argument uživatelem definovaný typ. V opačném případě, pokud není k dispozici žádná metoda toString, vrátí řetězcovou reprezentaci argumentu. Pokud je úroveň protokolu pro Apex kód nastavena na DEBUG nebo vyšší, zpráva tohoto příkazu ladění bude zapsána do protokolu ladění.
tento výše uvedený proces spotřebovává čas procesoru.

Děkujeme, že jste se zúčastnili experimentu Apex Speed Test. Pokud máte na mysli nějaký jiný experiment. Prosím, dejte mi vědět. Provedu experiment a budu zde sdílet blog.

původně publikováno dne 0to1Code.Com

You might also like

Napsat komentář

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