Ich habe dafür eine einfache Methode entwickelt, die console.time() & console.timeEnd() :
Definition der Messfunktion
function measureRunningTime(func,...args){
const varToString = varObj => Object.keys(varObj)[0]
const displayName = func.name || varToString({ func })
console.time(displayName)
func(...args)
console.timeEnd(displayName)
}
Um sie zu verwenden, übergeben Sie eine Funktion ohne Argumente, mit gebundenen Argumenten oder mit Argumenten als folgende Parameter.
Beispiele:
Nehmen wir an, ich möchte die Laufzeit des einfachsten Suchalgorithmus - SimpleSearch - überprüfen:
gemessene Funktionsdefinition (hier Ihr Code)
const simpleSearch = (array = [1,2,3] ,item = 3) => {
for(let i = 0; i< array.length; i++){
if (array[i] === item) return i;
}
return -1
}
Implementierung ohne Argumente
measureRunningTime(simpleSearch)
//Prints something like that-> simpleSearch: 0.04ms
Implementierung mit Argumenten mittels .bind()
const array = [1,2,3]
const item = 3
measureRunningTime(simpleSearch.bind(null, array, item))
//Prints something like that-> bound simpleSearch: 0.04ms
Implementierung mit Argumenten ohne Verwendung von .bind()
const array = [1,2,3]
const item = 3
measureRunningTime(simpleSearch, array, item)
//Prints something like that-> simpleSearch: 0.04ms
-> Diese Implementierung ist bei weitem nicht perfekt - zum Beispiel gibt es keine Fehlerbehandlung - aber sie kann verwendet werden, um die Laufzeiten von einfachen Algorithmen zu überprüfen, Außerdem bin ich kein erfahrener Programmierer, also nimm alles mit Vorsicht zu genießen.