Una Duda polémica....

11/09/2003 - 15:08 por buleBu | Informe spam
A ver si alguien puede resolverme esta duda.

Un programa ejecutado por el CLR ¿Se ejecuta más rápido que el mismo
programa compilado por ejemplo con C++?

Si la resupusta es afirmativa y podeis darme alguna referencia donde se
explique porqué un programa en .NET se ejecuta más rápido que uno compilado,
o link, url etc... os lo agradecería...

Yo opino que no porque el CLR a su vez tiene que comprobar Generaciones,
Recoleción de basura etc... y eso lleva tiempo de procesador...

Saludos

Preguntas similare

Leer las respuestas

#1 Octavio Hernández
11/09/2003 - 16:38 | Informe spam

Un programa ejecutado por el CLR ¿Se ejecuta más rápido que el mismo
programa compilado por ejemplo con C++?




Mira otro hilo de discusión reciente, "Performance de VS.NET", que contiene
opiniones muy interesantes sobre el tema.
Respuesta Responder a este mensaje
#2 Federico Villafañes
12/09/2003 - 00:51 | Informe spam
En cualquier caso, uno puede saltarse en cierta medida el recolector de
basura, trabajando con código inseguro y punteros y gestionando


manualmente
la memoria. Pero puedo asegurar que es algo que evitaré siempre que pueda.



Cuando comence a utilizar C# viniendo de C++ estaba desesperado porque
QUERIA utilizar punteros para todo, esa "maldita" costumbre de los que
usamos
C++. Al tiempo me adapte y no volvi a utilizar punteros para absolutamente
nada,
ni se me ocurre donde los podria necesitar. A tal punto que todavia no me vi
en
la necesidad de hacer "disposing" manual de ningun objeto que haya
utilizado!!!
Me parece que la posibilidad de escribir codigo inseguro en c# es
simplemente
un compromiso con la historia y, sin animo de iniciar una polemica, yo
simplemente
las declararia una construccion obsoleta.

Saludos

Federico
Respuesta Responder a este mensaje
#3 Tristan
12/09/2003 - 12:25 | Informe spam
Completamente de acuerdo :-)

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#4 Coatl
13/09/2003 - 09:16 | Informe spam
El día que tengas que te metas con temas de interoperabilidad con API's
"legacy", custom marshalling y demas, verás que más que obsolesencia es una
características muy util del lenguaje. =)


Alberto Borbolla
Microsoft MVP
WebLog:
http://www.coatl.com



"Federico Villafañes" wrote in message
news:
> En cualquier caso, uno puede saltarse en cierta medida el recolector de
> basura, trabajando con código inseguro y punteros y gestionando
manualmente
> la memoria. Pero puedo asegurar que es algo que evitaré siempre que


pueda.

Cuando comence a utilizar C# viniendo de C++ estaba desesperado porque
QUERIA utilizar punteros para todo, esa "maldita" costumbre de los que
usamos
C++. Al tiempo me adapte y no volvi a utilizar punteros para absolutamente
nada,
ni se me ocurre donde los podria necesitar. A tal punto que todavia no me


vi
en
la necesidad de hacer "disposing" manual de ningun objeto que haya
utilizado!!!
Me parece que la posibilidad de escribir codigo inseguro en c# es
simplemente
un compromiso con la historia y, sin animo de iniciar una polemica, yo
simplemente
las declararia una construccion obsoleta.

Saludos

Federico



Respuesta Responder a este mensaje
#5 Federico Villafañes
13/09/2003 - 13:55 | Informe spam
Hice varias cosas con la api de windows y hasta ahora no utilice codigo
inseguro. La unica vez que recuerdo que patine fue cuando necesitaba leer
archivos .CAB y queria usar la api para leerlos.

En este caso, la api usa una funcion de retrollamada que no podia terminar
de implementarla con Delegates, porque esta funcion recibe como parametro
una struct uno de cuyos miembros es un puntero a otra funcion que utiliza
una
struct como parametro tambien.Lo solucione bien facil con una pequeña clase
wrapper en c++ manejado y quedo de diez.

Para mi, mientras exista la posibilidad de escribir codigo manejado en C++,
no creo que vaya a utilizar la modalidad "insegura" de C#...

Federico
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida