Mejorar el rendimiento de ATOI ()
Siguiendo el consejo de Andrei Alexandrescu en su conferencia "Escribir código rápido" en la conferencia Código :: Dive 2015, estoy tratando de proporcionar un equivalente más rápido para Atoi () pero maximice la compatibilidad atrasada.
Tiene código heredado usando Atoi () donde desea mejorar el rendimiento de análisis de cadenas. Sería muy fácil hacer una rutina especializada de cadena-> intento si el formato de la entrada estaba garantizado, por ejemplo, cada número no estaba firmado y exactamente cuatro dígitos de largo. Sin embargo, hay casos en los que las cadenas enviadas a Atoi () provienen de un cliente externo, por lo que no puede asumir convenientemente que las cadenas no tienen espacio en blanco o incluyen caracteres no numéricos al final.
La función Atoi () hace lo siguiente:
Aquí hay resultados para una configuración de opciones de sistema/compilador/compilador particular (optimización completa).
Gráfico de tiempo de la CPU:
Gráfico de tiempo transcurrido:
Referencia de C ++