Las respuestas anteriores son coincidentes y correctas, AFAIK.
Sin embargo,, creo que hay algunas consideraciones adicionales y generales que debe tener en cuenta cada vez que se pregunte acerca de la eficiencia de cualquier activo computacional (código, por ejemplo).
En primer lugar, si todo está bajo su estricto control, en principio podría contar los ciclos de reloj uno por uno desde el código de ensamblaje. O a partir de un razonamiento más abstracto, encuentre el costo computacional de una operación/algoritmo.
Hasta ahora todo bien. Pero no se olvide de medida después. Puede encontrar que medir los tiempos de ejecución no es tan fácil y sencillo, y algunas veces es difícil de alcanzar (Cómo contabilizar interrupciones, espera de E/S, cuellos de botella de red ...). Pero vale la pena Pides aquí un consejo, pero TU compilador/intérprete/generador de código P/Lo que sea que se pueda configurar con ese interruptor en la tercera capa de tus scripts de configuración.
La otra consideración, más a su punto actual es la existencia de Black Boxes. No estás solo en el mundo y Black Box es cualquier pieza utilizada para ejecutar tu código, que está fuera de tu control. Los compiladores, los sistemas operativos, las redes, los sistemas de almacenamiento y el mundo en general entran en esta categoría.
Lo que hacemos con Black Boxes (son negras, ya sea porque su código no es público o porque usamos nuestra pesca en tiempo libre en lugar de cavar el código fuente de la biblioteca) está estableciendo modelos mentales para ayudarnos a entender cómo trabajo. (Por cierto, This es un libro extraordinario sobre cómo los humanos forjamos nuestros modelos mentales). Pero siempre debe tener cuidado de que son modelos, no es el caso real. Los modelos nos ayudan a explicar las cosas ... hasta cierto punto.La Mecánica clásica reinó hasta que la Relatividad y la Mecánica Cuántica fluyeron. Ninguno de ellos está mal Tienen límites, y también lo tienen todos nuestros modelos.
Incluso si es amigo del sistema operativo del enrutador o de su kernel de Linux cuando enfrenta un problema de eficiencia, diseñe un buen experimento y mida.
HTH!
NB: Por diseñe un buen experimento Quiero decir, tenga cuidado con los pozos de alquitrán. Ejemplos: medir tu código de medición en lugar del objetivo del experimento, ser influenciado por factores externos, olvidar los factores externos que influirán en el código de producción, probar con datos cuya cardinalidad, ortogonalidad o cualquier otra cosa sea diferente al "mundo real", mapear erróneamente la producción y las pruebas de los caballos de batalla cliente/servidor, et c, et c, et c.
Vaya, y mida su código. Tus resultados serán lo más interesante en esta página.
Por supuesto, si esta es una pregunta práctica, para eso sirve 'String.charAt (int)'. – Actorclavilis