Apex Speed Test-Does Rendszer.Debug () költség CPU limit?

Apex Speed Test Experiment:
ez a blog Az Apex Speed Test kísérletek része.
ezek a kísérletek ellenőrzik, hogy valami rosszat csinálunk-e kódírás közben? Mi jó írni, vagy mi nem? Az egyetlen kódsor megöli a CPU limitet?
kísérleteket végzek, bármit is találtam. Szívesen látjuk itt, ha van valami, ami hozzáadható ezekhez a kísérletekhez
#CodeShouldNotEatCPU #CPUScientist

kísérletünk:
ebben a kísérletben ellenőrizni fogjuk, hogy ha rendszer.hibakeresés eszik a CPU időt, vagy sem.

szükséged lesz:
számítógépre, böngészőre, Salesforce Org-ra és 2000 lead rekordra.

kezdjük:
2000 vezető rekordot vettünk ehhez a kísérlethez. Lekérdezzük ezeket a rekordokat, és egy cikluson keresztül iterálunk. Hozza létre ezt az osztályt a fejlesztői org – ban.

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

1. Kísérlet:
ebben a kísérletben nem használunk hibakeresést. Nyissa meg a fejlesztői konzolt. Most Nyissa Meg Az Execute Anonymous Ablakot. (Ez az opció jelen hibakeresés menüben.)
másolja ezt a kódot ApexSpeedExperiment_1.runExperiment1 (); és futtassa a fejlesztői konzolról. Ezt a módszert 5 alkalommal hívtam, és itt vannak az eredmények.

eredmény: az átlagos idő 29,2 milliszekundum.

2.Kísérlet:
ebben a kísérletben rendszerhibakereséseket használunk. Nyissa meg a fejlesztői konzolt. Most Nyissa Meg Az Execute Anonymous Ablakot. (Ez az opció jelen hibakeresés menüben.)
másolja ezt a kódot ApexSpeedExperiment_1.runExperiment2 (); és futtassa a developer console. Ezt a módszert 5 alkalommal hívtam, és itt vannak az eredmények.

eredmény: az átlagos idő 110 milliszekundum.

következtetés:
kísérleteink szerint rendszer.hibakeresés fogyasztani CPU limit.
1. Jó, hogy a gyártásban szükséges hibakereséseket kell használnunk.
2. Ne használjon hibakereséseket az API-válaszhoz. Mivel az API-k válaszai túl nagyok lehetnek.
3. Ne nyomtassa ki a teljes rekordpéldányt a hibakeresés során.
4. Ha nagy hibakeresésre van szükség, akkor a hibakeresések nyomtatásához használjon egyéni beállítást a gyártásban. Felh.::
if (isDebugOn ){
rendszer.debug (‘a hibakeresés’);
}
5. Távolítsa el a nem kívánt hibakereséseket, mielőtt a kódot üzembe helyezné.

Megjegyzés: Ha a naplózás ki van kapcsolva, a hívás továbbra is megtörténik. Ha a kódban írt bármely kódsor végrehajtásra kerül, és a végrehajtási idő beleszámít.
a Salesforce fejlesztői dokumentum szerint:
ha az msg argumentum nem karakterlánc, akkor a hibakeresési módszer karakterláncot hív.valueOf konvertálni egy karakterlánc. A Húr.a valueOf metódus meghívja a toString metódust az argumentumon, ha rendelkezésre áll, vagy bármely felülírt toString metódust, ha az argumentum felhasználó által definiált típus. Ellenkező esetben, ha nem áll rendelkezésre toString módszer, akkor az argumentum karakterlánc-ábrázolását adja vissza. Ha az Apex Kód naplózási szintje hibakeresés vagy magasabb, akkor ennek a hibakeresési utasításnak az üzenete a hibakeresési naplóba kerül.
ez a fenti folyamat felemészti a CPU idejét.

Köszönjük, hogy részt vett az Apex Speed Test kísérletben. Ha bármilyen más kísérletre gondol. Kérem, tudassa velem. Kísérletezni fogok, és megosztom a blogot itt.

eredetileg feladva 0to1Code.Com

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.