Benckmark: switch con caracteres
Cookies
¿Sabes qué? Pues que como todos los sitios, usamos cookies. Si te parece bien, simplemente haz clic en «Aceptar todo». También puedes elegir qué tipo de cookies quieres haciendo clic en «Ajustes».
Lee nuestra política de privacidad
Cookies
Elige qué tipo de cookies aceptar. Tu elección será guardada durante un año.
Lee nuestra política de privacidad
-
Necesarias
Estas cookies no son opcionales. Son necesarias para que funcione la página. De ahí que no puedas desmarcarlas. -
Estadísticas
Para que podamos mejorar la funcionalidad y estructura de la web, en base a cómo se usa la página. -
Experiencia
Para que nuestra web funcione lo mejor posible durante tu visita. Si rechaza estas cookies, algunas funcionalidades desaparecerán de la página. -
Marketing
Esto es básicamente para que los anuncios se ajusten a tus gustos. Son anuncios de Google AdSense. Puedes desmarcarlas y desaparecerán los anuncios. En la mayoría de artículos encontrarás sólo un anuncio, por lo que si nos puedes ayudar dejando activa esta cookie.
En esta ocasión traemos una prueba sencilla para comprobar si es más rápido tener un switch en el que se comprueben cadenas de un carácter, o por el contrario es más veloz convertir antes dichos caracteres a su valor ASCII. En el segundo caso nos valdremos del uso de charCodeAt().
Tabla de Contenidos
Función 1. Switch con cadenas
Para la primera función, tan sólo tendremos un switch que compruebe las cadenas que queramos "controlar". Tanto, en esta función, como en la siguiente, se ha dejado el código del case vacío, de forma que se evite obtener datos falseados por operaciones que se realicen en dicho case.
Función 2. Switch con ASCII
Con la segunda función se convierte el "caracter" recibido en su correspondiente valor ASCII. De forma que, el switch se llevará a cabo sobre dicho valor. Como podréis comprobar el código no contiene comprobaciones extra para evitar que se alteren los resultados.
La batería de pruebas
El código encargado de medir los tiempos para las dos pruebas será el mismo en ambos casos. Llamando a una u otra función dependiendo de la prueba.
Resultados
Para mí ha sido una sorpresa ver lo lento que ha funcionado convertir a ASCII, siendo el ganador con diferencia el switch de caracteres:
Como resultado de las pruebas, se observa una clara vencedora, la función con el switch de cadenas. Esta función es casi 30 veces más rápida que la encargada de convertir el carácter a ASCII.
jose