Melhorar o desempenho de Atoi ()
Seguindo o conselho de Andrei Alexandrescu em sua palestra "Escrevendo Código Fast" no Code :: Dive 2015 Conference, estou tentando fornecer um equivalente mais rápido para Atoi (), mas maximize a compatibilidade com versões anteriores.
Você tem código legado usando Atoi () onde deseja melhorar o desempenho da análise de string. Seria muito fácil fazer uma rotina especializada em uma rotina de análise se o formato da entrada fosse garantido, por exemplo, cada número não foi assinado e exatamente quatro dígitos de comprimento. No entanto, há casos em que as strings enviadas para Atoi () vêm de um cliente externo, para que você não possa assumir convenientemente que as strings não tenham espaço de branco inicial ou inclua caracteres não numéricos no final.
A função Atoi () faz o seguinte:
Aqui estão os resultados para um sistema específico/compilador/compilador Configuração de opções (otimização completa).
Gráfico de tempo da CPU:
Gráfico de tempo decorrido:
Referência C ++