Toppunkt Hastighed Test – Gør Systemet.Debug () omkostninger CPU grænse?

testforsøg med Spidshastighed:
denne blog er en del af testforsøg med Spidshastighed.
disse eksperimenter kontrollerer, at vi gør noget forkert, mens vi skriver kode? Hvilken ting er godt at skrive eller hvad er det ikke? Er din enkelt linje kode dræbe CPU grænse?
jeg laver eksperimenter, uanset hvad jeg fandt. Du er meget velkommen her, hvis du har noget, der kan tilføjes i disse eksperimenter
#CodeShouldNotEatCPU #CPUScientist

vores eksperiment:
i dette eksperiment vil vi kontrollere, at hvis systemet.debug spiser din CPU-tid eller ej.

du skal bruge:
en computer, en bro.ser, en Salesforce Org og 2000 lead records.

lad os starte:
vi har taget 2000 lead records for dette eksperiment. Vi spørger disse poster og gentager gennem en løkke. Opret denne klasse i din udviklerorganisation.

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

eksperiment 1:
vi bruger ikke nogen debugs i dette eksperiment. Åbn udviklerkonsollen. Åbn Nu Udfør Anonymt Vindue. (Denne mulighed findes i Debug-menuen.)
Kopier denne kode Topphastighedeksperiment_1.køreksperiment1 (); og køre det fra developer console. Jeg kaldte denne metode 5 gange, og her er resultaterne.

resultat: gennemsnitlig tid taget er 29,2 millisekunder.

eksperiment 2:
vi bruger System debugs i dette eksperiment. Åbn udviklerkonsollen. Åbn Nu Udfør Anonymt Vindue. (Denne mulighed findes i Debug-menuen.)
Kopier denne kode Topphastighedeksperiment_1.køreksperiment2 (); og køre det fra developer console. Jeg kaldte denne metode 5 gange, og her er resultaterne.

resultat: gennemsnitlig tid taget er 110 millisekunder.

konklusion:
ifølge vores eksperimenter, System.debug forbruge CPU grænse.
1. Det er godt, at vi skal bruge nødvendige debugs i produktionen.
2. Brug ikke debugs til API-svar. Som svar på API ‘ er kan være for store.
3. Udskriv ikke hele rekordforekomsten i debugging.
4. Hvis der er behov for store debugs, skal du bruge en brugerdefineret indstilling i produktionen til at udskrive debugs. Udløbsdato:
hvis( isDebugOn ){
system.debug (‘din Debug’);
}
5. Fjern uønskede debugs, før du implementerer koden til produktion.

Bemærk: Hvis logning er slået fra, sker opkaldet stadig. Hvis nogen linje kode, der er skrevet i koden vil blive udført, og det vil få tæller mod eksekveringstid.
ifølge Salesforce Developer Document:
hvis MSG-argumentet ikke er en streng, kalder fejlfindingsmetoden streng.valueOf at konvertere det til en streng. streng.valueOf-metoden kalder toString-metoden på argumentet, hvis det er tilgængeligt, eller enhver tilsidesat toString-metode, hvis argumentet er en brugerdefineret type. Ellers, hvis der ikke toString metode er tilgængelig, det returnerer en streng repræsentation af argumentet. Hvis logniveauet for Spidskoden er indstillet til DEBUG eller højere, vil meddelelsen i denne debug-erklæring blive skrevet til debug-loggen.
denne ovenfor proces forbruger CPU tid.

Tak fordi du deltog i Testeksperimentet. Hvis du har noget andet eksperiment i tankerne. Lad mig det vide. Jeg vil gennemføre et eksperiment og vil dele bloggen her.

oprindeligt udgivet på 0to1Code.Com

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.