Mi jefe acaba de decirme que aprendió sobre los rápidos algoritmos VB6 de un libro y que la forma más corta de escribir cosas no es necesariamente la más rápida (por ejemplo, los métodos integrados a veces son mucho más lentos que los autoescritos, ya que hacen todo tipo de conversiones de comprobación o unicode que podrían no ser necesarias en su caso).Velocidad de construcciones diferentes en lenguajes de programación (Java/C#/C++/Python/...)
Ahora me pregunto, ¿hay un sitio web con información sobre construcciones rápidas diferentes en varios idiomas, esp. Java/C#/Python/... (también C++ pero hay tantos compiladores que probablemente difieren mucho).
E.g. ¿hay una diferencia entre
if (a()) b();
y
a() && b();
Otro ejemplo: se a = a * 4
tal vez compilado para el mismo código que a <<= 2
?
Podría probar esto yo mismo, por supuesto, escribir ambos, ejecutarlos 100000 veces y comparar el tiempo de ejecución, pero también me gustaría aprender nuevas formas de escribir cosas, tal vez incluso cosas que no había considerado antes. . ¡Gracias por tus respuestas!
a menos que esté trabajando en un tipo de hardware muy especial (como una pequeña tarjeta inteligente Java incorporada) o algoritmos muy especiales (como, por ejemplo, API criptográficas) no tiene mucho sentido preocuparse por esto. – SyntaxT3rr0r
Además de las respuestas hasta ahora: La forma más limpia, más corta y más fácil de escribir ES la mejor manera de escribir, a pesar de cualquier diferencia de rendimiento hipotética, a menos que tenga características de rendimiento realmente horribles (por ejemplo, el ingenuo sistema de navegación rápida en Haskell) , que hace montones y montones de concatenaciones de listas). – delnan
Hay mucho más en un lenguaje que el álgebra booleana y las construcciones básicas de decisión. El marco para .NET 4 es lo suficientemente aterrador, mucho menos comparado con otros 2-3. ¿Estás hablando de C++ administrado o no? jajaja, la gente escribe esto, no las máquinas. Tendría la suerte de encontrar la documentación correcta, y mucho menos los cuadros cruzados Big-O. Bienvenido a la realidad amigo mío. –