¡No mejores el rendimiento de tu código!

Cuando escribimos código a veces nos preocupamos de sobremanera por el rendimiento, lo que nos lleva a hacer microoptimizaciones de nuestro código, como utilizar for en lugar de map, o aplicar mutabilidad en lugar de inmutabilidad. Y estos suelen tener mejor rendimiento, fornativo puede ser hasta 3 veces más rápido y modificar objetos suele ser 2 o más veces más rápido. Pero esto es en versiones antiguas de los exploradores y versiones antiguas de Node u otros lenguajes. ¿Pero por qué te digo que no optimices entonces?


Hoy hablaremos sobre rendimiendo de código, puedes leer este post ó ver y escuchar esta información en formato de video en nuestro canal de youtube, te dejamos el link por si prefieres este formato. 😃 👍


Hay varias tareas que ejecuta nuestra aplicación que son muy costosas, dentro de esa la más pesada casi siempre es el renderizado, si estás trabajando por ejemplo con react, angular o vue y tu estado está cambiando constantemente antes de cambiar un map por un for es mejor revisar las condiciones de renderizado y prevenir que los componentes de nuestra aplicación se vuelvan a renderizar, esto se puede hacer con ¿memoization, o… memoización?, no… memorización. Donde una función recuerda sus ejecuciones anteriores y retorna valores que ya hayan sido procesados, siempre que los argumentos sean los mismos.

Lo segundo, con un pequeño snippet puedes ver cuánto tiempo le toma a JavaScript crear 10 mil registros e ingresarlos en un array. Y en mi máquina toma menos de 1 milisegundo. Voy a repetir lo último, 10 MIL REGISTROS, en menos de 1 milisegundo.

Por supuesto que existirán casos donde cambiar un map por un for aplique mejor, como por ejemplo realizar un for con millones de registros. Pero en ese caso el problema no es map o for, y la pregunta que deberías hacerte es: ¿porque estás iterando millones de registros? La mayoría de las veces el problema de rendimiento se encuentra en el algoritmo que escribimos como desarrolladores. Por lo que tener un código más fácil de entender que no tenga tan buen rendimiento, es mejor que uno con micro optimizaciones que haga difícil entender el código. De esa manera, será más fácil entender el problema y escribir un algoritmo con mejor rendimiento.

REPITO, algoritmo con mejor rendimiento, y no código con mejor rendimiento. Como, por ejemplo, filtrar los elementos primero y luego procesarlos, ordenarlos para realizar búsquedas binarias, indexarlos en un diccionario para búsquedas con complejidad O(1). En el 99% de los casos un for en lugar de un map no te va a salvar. Pero sí lo hará un mejor algoritmo.


Aprende a programar ¡ahora!

Este fue un tip sobre código, y si quieres comenzar o seguir aprendiendo a programar, te recomendamos la Academia de Hola Mundo donde podrás formarte como un excelente desarrollador o desarrolladora has click aquí donde podrás ver todos los cursos.

Si te ha encantado, ¡golpea al botón de me gusta!, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter e Instagram, y por último, te invitamos a escuchar nuestra música «Hola Beats», diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, estamos en Spotify y en Apple Music.

¡Hasta la próxima!, y chao mundo

Deja un comentario

Press ESC to close

Descubre más desde Hola Mundo

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo