weakly languages language dynamically optimization dynamic-languages

optimization - dynamically - ¿Cuáles fueron las(entonces) optimizaciones no publicadas a las que se refirió Steve Yegge en “Dynamic Languages Strike Back”?



dynamically typed languages (2)

Estaba leyendo la transcripción de la presentación de Dynamic Languages ​​Strike Back de Steve Yegge, cuando noté este comentario cuando comienza a hablar sobre los árboles de rastreo:

Seré honesto contigo, en realidad tengo dos optimizaciones que no pudieron incluirse en esta charla que son incluso mejores que esto porque aún no se han publicado. Y no quería dejar al gato fuera de la bolsa antes de que publicaran. Así que esto es en realidad sólo la punta del iceberg.

¿A qué optimizaciones se refería?

Actualizar

Hace varios días, hice esta pregunta en un comentario sobre el artículo. Sin embargo, la moderación de comentarios está activada ( for good reasons ), por lo que aún no ha aparecido.

Actualizar

Han pasado un par de semanas desde que intenté llegar al autor. ¿Alguien más sabe otra forma de contactarlo?


Eche un vistazo a esto: http://blog..com/2009/04/podcast-50/

EDITAR: Es difícil encontrar referencias específicas (confirmadas), sin embargo, este documento quizás brinda información sobre esto: http://people.mozilla.org/~dmandelin/tracemonkey-pldi-09.pdf y esta publicación del blog que aparece relacionada: http://andreasgal.wordpress.com/2008/08/22/tracing-the-web/

Podría no estar relacionado, ya que se trata de un documento de investigación de Microsoft de marzo de 2010: http://research.microsoft.com/pubs/121449/techreport2.pdf

Puro especulativo de mi parte, pero me parece (al menos para mí) que hay dos formas principales de rendimiento, que a nivel de desarrollador (IDE) y que a nivel de compilador a las que se refiere este tema de los árboles de traza, por lo tanto, la "optimización automática" durante la ejecución para obtener la traza en línea para los puntos calientes. Esto me lleva rápidamente a áreas de optomización relacionadas con los núcleos múltiples y cómo utilizar el árbol de seguimiento de alguna manera (entornos de varios núcleos). Cosas interesantes teniendo en cuenta la especulación de velocidad del tipo no estático actual en comparación con los ganadores de velocidad en el tipo estático utilizado en C actual y el potencial de rendimiento que se obtendrá. Recuerdo una discusión que tuve con un ingeniero de hardware hace años (1979) donde especulamos que si pudiéramos capturar las rutas de ejecución "en caliente", podríamos obtener una gran ganancia en rendimiento al mantenerla "lista para ejecutarse" in situ de alguna manera. esto fue mucho antes del trabajo en HP a este respecto (¿1999?) y, desafortunadamente, no llegamos a la etapa de discusión debido a otros compromisos. (Estoy divagando aquí creo ... :)

O, ¿esto estaba relacionado con el lenguaje GO? Difícil de decir en algunos aspectos.