Apex Speed Test Experiment:
deze blog maakt deel uit van Apex Speed Test experimenten.
deze experimenten controleren of we iets verkeerd doen tijdens het schrijven van code? Wat is goed om te schrijven of wat niet? Is uw enkele regel code het doden van de CPU limiet?
ik doe experimenten wat ik vond. U bent hier van harte welkom, Als u iets hebt dat aan deze experimenten kan worden toegevoegd
# Codehouldnoteatcpu #CPUScientist
ons Experiment:
in dit experiment zullen we dat if-systeem controleren.debug zijn het eten van uw CPU tijd of niet.
u hebt nodig:
een computer, een browser, een Salesforce Org en 2000 lead records.
laten we beginnen:
we hebben 2000 hoofdrecords genomen voor dit experiment. We zijn deze records aan het bevragen en herhalen door een lus. Maak deze klasse in uw Ontwikkelaar org.
https://gist.github.com/TheVishnuKumar/fe5b64dd906bb9964ec450f9f403a343
Experiment 1:
we gebruiken geen debuggen in dit experiment. Open de developer console. Open Nu Uitvoeren Anoniem Venster. (Deze optie is aanwezig in het DebugMenu.)
kopieer deze code ApexSpeedExperiment_1.runExperiment1 (); en voer het uit van developer console. Ik belde deze methode 5 keer en hier zijn de resultaten.
resultaat: De gemiddelde duur is 29,2 milliseconden.
Experiment 2:
we gebruiken systeemdebuggen in dit experiment. Open de developer console. Open Nu Uitvoeren Anoniem Venster. (Deze optie is aanwezig in het DebugMenu.)
kopieer deze code ApexSpeedExperiment_1.runExperiment2 (); en voer het uit van developer console. Ik belde deze methode 5 keer en hier zijn de resultaten.
resultaat: De gemiddelde duur is 110 milliseconden.
conclusie:
volgens onze experimenten, systeem.debug verbruiken CPU limiet.
1. Het is goed dat we de benodigde debugs in de productie gebruiken.
2. Gebruik geen debugs voor API-reactie. Als reacties van API ‘ s kan te groot zijn.
3. Niet afdrukken van de hele record instantie in debugging.
4. Als grote debugs nodig zijn, gebruik dan een aangepaste instelling in productie om debugs af te drukken. Exp:
if (isDebugOn ){
systeem.debug (‘uw Debug’);
}
5. Verwijder ongewenste debugs voordat u de code naar de productie implementeert.
Opmerking: Als loggen is uitgeschakeld, vindt de aanroep nog steeds plaats. Als een regel code die is geschreven in de code zal worden uitgevoerd en het zal tellen tegen de uitvoeringstijd.
volgens Salesforce Developer Document:
als het MSG argument geen string is, roept de debug methode String aan.waarde van om het om te zetten in een string. tekenreeks.value of method roept de toString-methode op het argument aan, indien beschikbaar, of een overschreven toString-methode als het argument een door de gebruiker gedefinieerd type is. Anders, als er geen toString methode beschikbaar is, geeft het een string representatie van het argument. Als het logniveau voor Apex-Code is ingesteld op DEBUG of hoger, wordt het bericht van dit debug statement naar het debuglogboek geschreven.
dit proces verbruikt de CPU-tijd.
Dank u voor uw deelname aan het Apex Speed Test Experiment. Als je een ander experiment in gedachten hebt. Laat het me weten. Ik zal een experiment uitvoeren en zal de blog hier delen.
Oorspronkelijk geplaatst op 0to1Code.Com