Apex Speed Test-Fa sistema.Debug () limite di costo della CPU?

Apex Speed Test Experiment:
Questo blog fa parte di Apex Speed Test Experiments.
Questi esperimenti controllano che stiamo facendo qualcosa di sbagliato durante la scrittura del codice? Quale cosa è buona da scrivere o cosa no? La tua singola riga di codice uccide il limite della CPU?
Sto facendo esperimenti tutto ciò che ho trovato. Sei il benvenuto qui, se hai qualcosa che può essere aggiunto in questi esperimenti
#CodeShouldNotEatCPU # CPUScientist

Il nostro esperimento:
In questo esperimento, controlleremo che se il sistema.il debug sta mangiando il tuo tempo di CPU o no.

Avrai bisogno di:
Un computer, un browser, un’organizzazione Salesforce e 2000 record di lead.

Cominciamo:
Abbiamo preso 2000 record di piombo per questo esperimento. Stiamo interrogando questi record e iterando attraverso un ciclo. Crea questa classe nella tua organizzazione sviluppatore.

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

Esperimento 1:
Non stiamo usando alcun debug in questo esperimento. Aprire la console sviluppatore. Ora apri la finestra Esegui anonimo. (Questa opzione presente nel menu Debug.)
Copia questo codice ApexSpeedExperiment_1.runExperiment1 (); ed eseguirlo dalla console degli sviluppatori. Ho chiamato questo metodo 5 volte e qui ci sono i risultati.

Risultato: il tempo medio impiegato è di 29,2 millisecondi.

Esperimento 2:
Stiamo usando i debug di sistema in questo esperimento. Aprire la console sviluppatore. Ora apri la finestra Esegui anonimo. (Questa opzione presente nel menu Debug.)
Copia questo codice ApexSpeedExperiment_1.runExperiment2 (); ed eseguirlo dalla console degli sviluppatori. Ho chiamato questo metodo 5 volte e qui ci sono i risultati.

Risultato: il tempo medio impiegato è di 110 millisecondi.

Conclusione:
Secondo i nostri esperimenti, Sistema.debug consumare limite di CPU.
1. È bene utilizzare i debug necessari nella produzione.
2. Non utilizzare i debug per la risposta API. Poiché le risposte delle API possono essere troppo grandi.
3. Non stampare l’intera istanza del record nel debug.
4. Se sono necessari debug di grandi dimensioni, utilizzare un’impostazione personalizzata in produzione per stampare i debug. Scad.:
se( isDebugOn ){
sistema.debug (‘Il tuo debug’);
}
5. Rimuovere i debug indesiderati prima di distribuire il codice in produzione.

Nota: se la registrazione è disattivata, la chiamata avviene ancora. Se una riga di codice scritta nel codice verrà eseguita e verrà conteggiata rispetto al tempo di esecuzione.
Secondo Salesforce Developer Document:
Se l’argomento msg non è una stringa, il metodo di debug chiama String.valueOf per convertirlo in una stringa. stringa.Il metodo valueOf chiama il metodo toString sull’argomento, se disponibile, o qualsiasi metodo toString sovrascritto se l’argomento è un tipo definito dall’utente. Altrimenti, se non è disponibile alcun metodo toString, restituisce una rappresentazione stringa dell’argomento. Se il livello di registro per il codice Apex è impostato su DEBUG o superiore, il messaggio di questa istruzione di debug verrà scritto nel registro di debug.
Questo processo precedente consuma il tempo della CPU.

Grazie per aver partecipato all’esperimento Apex Speed Test. Se avete qualche altro esperimento in mente. Per favore fatemelo sapere. Condurrò un esperimento e condividerò il blog qui.

Originariamente pubblicato il 0to1Code.Com

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.