Consejos de rendimiento A lo largo de los años, mi compañero Sanjay Ghemawat y yo hemos hecho bastante trabajo en la afinación de varios fragmentos de código. Hace un par de años escribimos un documento interno de Consejos de Rendimiento como una forma de identificar algunos principios generales y recientemente hemos publicado una versión externa. ¡Nos encantaría recibir cualquier comentario que podáis dar! Lee el documento completo en:
Hemos intentado dar ejemplos concretos de las distintas técnicas. Algunas son descripciones generales de un conjunto de mejoras de rendimiento, como este conjunto de cambios de 2001:
Otros son pequeños fragmentos específicos de código que demuestran una técnica:
Probablemente muchos métodos sean conocidos por los lectores, pero nos pareció agradable contar con una colección de consejos y trucos, que van desde mejoras algorítmicas de alto nivel hasta optimizaciones de rendimiento de bajo nivel, reunidos.
Sanjay y yo también nos divertimos escribiendo esto, explorando las profundidades de las listas de cambios durante varias décadas buscando técnicas interesantes que habíamos usado y tratando de agruparlas en temas de nivel superior.
La versión pública es una versión algo suavizada de la versión interna. La gente de Google puede encontrar la versión interna en go/performance-hints, que tiene enlaces a la lista de cambios real en nuestro sistema de repositorios de código fuente.
La versión interna también tiene ejemplos adicionales en código más sensible (por ejemplo, cambios en el backend del compilador TPU) que no podemos incluir en la versión externa.
46