Muchas veces necesito medir cuánto tiempo tarda un función de node en ejecutarse. Hay diferentes maneras de medir estos tiempos: utilizar un profiler, herramientas de monitorización o utilizando librerías precisas de medición.
Si vas a realizar una medición de forma esporádica para estudiar o analizar alguna parte del código de forma rápida, sigue leyendo porque esta alternativa es muy fácil de utilizar.
Supón que tienes una función getUserData
que se conecta a tu base de datos para obtener la información de un usuario, utilizando el ORM Prisma:
export async function getUserData(id: string): Promise<User> {
return prisma.user.findFirst({ where: { id } });
}
Pon que tu aplicación tiene mucho éxito e incrementa el número de usuarios, se te ha olvidado crear el índice en la base de datos y quieres comprobar cuánto tiempo tarda esta función.
Para medir el tiempo de ejecución en milisegundos puedes utilizar la clase Date
de Javascript de la siguiente manera:
const start = new Date();
await getUserData("abcd-1234");
const end = new Date();
console.log(end.getTime() - start.getTime(), "ms");
Y listo. Con esto podrás medir el tiempo de ejecución de una función de forma fácil y rápida.