por
pobrecito hablador
el Lunes, 01 Noviembre de 2010, 19:08h
(#1248273)
Me parece interesante lo que comentan de los métodos virtuales en bucles, que te los convierte a estáticos. No se si los compiladores de C++ lo haran, pero de todas formas, si lo que quieres es rendimiento y sabes lo que estas haciendo, generalmente procuraras no llamar muchas veces a métodos virtuales. De todas formas, Sacado de la wikipedia/A> [wikipedia.org]
High-level optimizations are optimizations performed on a version of the program that more closely represents the source code. This includes loop interchange, loop fusion, loop unrolling, loop distribution, data prefetch, and more.[3] These optimizations are usually very aggressive and may take considerable compilation time.
Un JIT, por su naturaleza "Just In Time" nunca podrá aplicar tantas optimizaciones como un compilador "Ahead Of Time". Además de todo eso, que yo sepa, no hay hoy en día ningún JIT que haga auto paralelización de bucles (fundamental para aprovechar todo el potencial de los procesadores multicore de hoy en día) y vectorización como hacen el compilador de Intel C++ y GCC. Lo de la paralelización de bucles es cierto que lo puedes hacer a mano en C# por ejemplo, pero siempre es mejor que te lo haga el compilador el solito, y más si este te analiza en qué casos vas a sacar rendimiento y en cuales no y te lo aplica en función de eso. Ademas de todo esto, lo que he dicho antes, el Garbage Collector te para la ejecución de tu programa cuando entra en funcionamiento y no hay forma de programar para la pila [stackoverflow.com].
Re:Cuanta leyenda urbana...
(Puntos:0)