jueves, marzo 15, 2007

C# VS Delphi Turbo

En un momento de esos que se dan pocos en la vida, en los que tiras flojera, me decidí a comparar los dos lenguajes/compiladores que estoy utilizando actualmente para comparar cuál de los dos efectúa más rápido un cálculo.

Para ello diseñé un código casi igual para ambos, digo casi porque hay algunas diferencias mínimas en el lenguaje, hay que tomar en consideración que ésto fué una prueba rápida y falta tomar en cuenta 2 cosas:

- Los algoritmos no son idénticos, en realidad por una sola instrucción está más optimizado el código en C#, por lo que el programa escrito en este lenguaje debería terminar más rápido.

- Los tipos de datos, que yo sepa, varían de tamaño entre C# y Delphi, por lo que la longitud diferente significaría la ventaja de un lenguaje, así que tendré que volver a probar utilizando datos de la misma longitud.

El último punto no debería ser tan significativo, ya que como programadores normalmente ocupamos las variables C#/Delphi estándard sin considerar su tamaño de manera muy purista (aunque deberíamos).

Aun así el resultado me sorprendió, yo hubiera esperado que la aplicación en .Net (C#) sería más rápida ya que, como mencioné antes, el código tiene una ligera optimización; además de que estaba siendo ejecutada en un ambiente Microsoft lo que en teoría le daría ventaja. Supongo que a pesar de ser hecha en un pseudo C, y estar corriendo en una supuesta plataforma optimizada para dicho framework, la diferencia radica en que C# corre sobre una máquina virtual o framework mientras que Delphi lo hace de manera nativa. Así que otra variable de la prueba sería implementar el código en Delphi.Net, sin embargo tampoco creo que cuente, porque a final de cuentas como comenté al principio, lo importante es tener códigos que se ejecuten más rápido.

No hay comentarios.: