Apex Speed Test – Gjør Systemet.Debug () kostnad CPU grense?

Apex Speed Test Experiment:
denne bloggen er en del Av Apex Speed Test Eksperimenter.
disse forsøkene kontrollerer at vi gjør noe galt mens du skriver kode? Hva er bra å skrive eller hva er det ikke? Er din eneste linje med kode som dreper CPU-grensen?
jeg gjør eksperimenter uansett hva jeg fant. Du er hjertelig velkommen her, hvis du har noe som kan legges til i disse forsøkene
#CodeShouldNotEatCPU #CPUScientist

Vårt Eksperiment:
i dette eksperimentet vil vi sjekke at hvis systemet.debug spiser CPU-tiden din eller ikke.

Du Trenger:
en datamaskin, en nettleser, En Salesforce Org og 2000 salgsemneposter.

La Oss Starte:
Vi har tatt 2000 bly poster for dette eksperimentet. Vi spør disse postene og itererer gjennom en løkke. Opprett denne klassen i utviklerorganisasjonen din.

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

Eksperiment 1:
Vi bruker ingen debugger i dette eksperimentet. Åpne utviklerkonsollen. Åpne Nå Utfør Anonymt Vindu. (Dette alternativet finnes I Feilsøkingsmenyen.)
Kopier Denne koden ApexSpeedExperiment_1.runExperiment1 (); og kjøre den fra developer console. Jeg ringte denne metoden 5 ganger og her er resultatene.

Resultat: Gjennomsnittlig tid tatt er 29,2 Millisekunder.

Eksperiment 2:
vi bruker systemfeil i dette eksperimentet. Åpne utviklerkonsollen. Åpne Nå Utfør Anonymt Vindu. (Dette alternativet finnes I Feilsøkingsmenyen.)
Kopier Denne koden ApexSpeedExperiment_1.runExperiment2 (); og kjøre den fra developer console. Jeg ringte denne metoden 5 ganger og her er resultatene.

Resultat: Gjennomsnittlig tid tatt er 110 Millisekunder.

Konklusjon:
Ifølge våre eksperimenter, System.debug forbruker CPU grense.
1. Det er bra at vi skal bruke nødvendige debugger i produksjonen.
2. Ikke bruk debugs FOR API svar. Som Svar På Apier kan det være for stort.
3. Ikke skriv ut hele postforekomsten i feilsøking.
4. Hvis store debugger er nødvendig, bruk en egendefinert innstilling i produksjon for å skrive ut debugger. Exp:
hvis (isDebugOn) {
system.debug (‘Din Debug’);
}
5. Fjern uønskede debugger før du distribuerer koden til produksjon.

Merk: hvis logging er slått av, skjer samtalen fortsatt. Hvis en linje med kode som er skrevet i koden vil bli henrettet, og det vil få telle mot kjøretid.
I Henhold Til Salesforce Developer Document:
hvis msg-argumentet ikke er en streng, kaller feilsøkingsmetoden Streng.valueOf å konvertere den til en streng. streng.valueOf-metoden kaller toString-metoden på argumentet, hvis tilgjengelig, eller en overstyrt toString-metode hvis argumentet er en brukerdefinert type. Ellers, hvis ingen toString-metode er tilgjengelig, returnerer den en strengrepresentasjon av argumentet. Hvis loggnivået For Apex-Kode er satt TIL DEBUG eller høyere, skrives meldingen for denne debug-setningen til debug-loggen.
denne prosessen ovenfor bruker CPU-tiden.

Takk For at du deltok I Apex Speed Test-Eksperimentet. Hvis du har noe annet eksperiment i tankene. Vennligst gi meg beskjed. Jeg vil gjennomføre et eksperiment og vil dele bloggen her.

Opprinnelig Postet på 0to1Code.Com

You might also like

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.