El triunfo inesperado del muestreo por rechazo: una inmersión profunda en las pruebas de rendimiento
Mientras optimizaba su trazador de rayos, PSRayTracing, el autor profundizó en las pruebas de rendimiento para algoritmos que generan vectores aleatorios dentro de un círculo/esfera unitaria. Inicialmente, creía que una solución analítica sería más eficiente que el muestreo por rechazo. Sin embargo, los benchmarks en Python y C++, en varios compiladores y plataformas de hardware, arrojaron resultados sorprendentes: con las optimizaciones del compilador activadas, el muestreo por rechazo a menudo superó al enfoque analítico. El autor concluye que las pruebas de rendimiento prácticas son cruciales al optimizar el código, evitando depender de suposiciones teóricas, ya que las estrategias de optimización del compilador y las variaciones de hardware afectan significativamente el rendimiento final.