Cómo las CPUs modernas predicen eficientemente los bucles de los intérpretes de bytecode
Al investigar el rendimiento de un nuevo intérprete de Python, el autor descubrió que las CPUs modernas pueden predecir eficientemente los saltos indirectos dentro de los bucles de los intérpretes de bytecode. Esto se logra mediante predictores de bifurcación avanzados como TAGE e ITTAGE. Estos predictores asignan el contador de programa (PC) y su historial al comportamiento de ejecución pasado, utilizando varias tablas con longitudes de historial que aumentan geométricamente para elegir dinámicamente la mejor predicción. El autor explora la aplicación de los principios de ITTAGE a la fuzzing guiada por cobertura y a la exploración del estado del programa, sugiriendo que esto podría conducir a una mejor comprensión y exploración de los intérpretes y programas similares.
Leer más