martes, agosto 26, 2008

A veces VisualBasic.net es más rápido que visualC++

En los post anteriores se pueden ver dos programas idénticos en el que Visual Basic.NET es más rápido que Visual C++.

Buscando por ahí, he encontrado unas pruebas de rendimiento realizadas hace años. Podemos ver la comparativa aquí.

En un momento concreto nos dicen "One important distinction between the CLR and other similar types of architectures, such as the Java Virtual Machine (JVM) or the Visual Basic Virtual Machine (VBVM), is that your code is never interpreted. This means that your code is being run at native machine speed".

Lo más importante son los datos de la comparativa. Han publicado lo que tarda cada instrucción en cada lenguaje y el resultado es este:

En Visual C++ 6 (yo no utilizo exactamente esta versión, sino la que viene con el Visual Studio 2003) un test de INTEGER ADITION tarda 505 msg y en Visual Basic.NET 342 msg.

El test de INTEGER MULTIPLICATION en VC++ tarda 676 msg y en VB.NET 343msg.

Justo en nuestro programita de los primos utilizamos el INTEGER ADITION y el INTEGER MULTIPLICATION por lo el VB.NET gana a VC++.

Más adelante, en la búsqueda de un primo realmente grande vamos a tener que hacer operaciones con tipos string y otras cosillas que igual hagan más rápido al VC++ por lo que tendremos que seguir con los dos lenguajes.

Saludos y gracias a tayoken por la sugerencia anterior.

No hay comentarios: