viernes, 8 de febrero de 2013

Clone Wars (El bombazo final). Parte 3

Si funciona no lo toques... cuantas veces habré oido ese "refrán", y cuantas veces lo he odiado. Con este tipo de filosofías nunca se evoluciona ni mejora.

¿Por que digo esto?   Porque a raiz de las dos entradas enteriores, en las que he estado probando el rendimiento de diferentes métodos de clonado (todo con Visual Studio 2012 y .NET 4.5)  me dije: ¿Y que pasará con otras versiones del Framework (anteriores obviamente)?

Pues bien... me puse a ello, y bombazo final!  Esta vez Microsoft cumplió lo que anunciaba: La ultima versión del Framework rinde más... mirad:





¡La mejora cuando clonamos gran cantidad de objetos es espectacular! 
Por ejemplo, clonando 50000 objetos con reflection pasamos de alrededor de 15 segundos a 9, si comparamos .NET 3.5 y .NET 4.5. ¡Guau!
¿A que se puede deber?

Sospecho que el principal motivo puede ser la mejora de la reserva de memoria para objetos grandes (mi ejemplo no deja de ser el clonado de un objeto grande, un garaje con hasta 50000 coches jeje)

Aqui hablan de esto además de otros cambios en el Framework 4.5 relacionados con el rendimiento: http://msdn.microsoft.com/en-us/magazine/hh882452.aspx

Asi que ya sabeis... si soys de los de "Si funciona no lo toques" os perdereis las mejoras que suelen traer las nuevas versiones... esta vez ha sido en rendimiento, otras será en seguridad, productividad, etc...

Me apunto seguir comparando versiones, con otros casos, como consultas Linq To Objects sobre colecciones grandes por ejemplo. De momento esto ha sido todo

No hay comentarios:

Publicar un comentario