Ver Mensaje Individual
  #18  
Antiguo 29-09-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Caral, no te preocupes por "gastar memoria" tan pronto.

Usar variables es el metodo recomendado para la mayoria de los casos, y ten en cuenta que los compiladores se optimizan para los casos "genericos".

Cuando alguien hace algo no "generico" el compilador (ejem... los arquitectos del compilador) lo que hace es decir: ok, se supone que el tio es mas listo que yo.

Y la gran mayoria de los casos, no lo son.

Ademas en Delphi Nativo (Win32/Win64) los tipos de datos string son mutables y son punteros, lo que implica que son muuuy eficientes. De hecho, pascal tiene el mejor tipo de datos string, a la hora de balancear asuntos.

Otro caso es sobre .NET y otros lenguajes, que tienen datos inmutables, o sea, cada referencia es una copia de la anterior, no un puntero.

Y aun asi, es negible el efecto.

Las mejores optimizaciones se logran:

- Haciendo codigo claro, que siga las convenciones, y que trabaje de forma "normal" sin pretender ser muy listo antes de serlo de verdad.

- Reducir la cantidad de codigo, la cantidad de funciones, etc... Simple es mejor que complejo.

- El 80% de los problemas esta en el 20% del codigo. El codigo mas repetitivo es el que *vale* la pena chequear para optimizar y refactorizar.

- Antes de optimizar, usa un profiler. La mayoria de los programadores aprendemos tecnicas de optimizaciones (como pasar un for a un while) que son innecesarias en compiladores modernos, o que no corresponden a la arquitectura (ej: Aplicar optimizaciones Win32 a .NET). Solo al usar profilers sabras que es lento.

- La velocidad perceptual es mas importante que la de maquina. Un software que le parezca al usuario mas lento es peor que uno que lo sea tecnicamente mas rapido.

La optimizacion se logra haciendo un buen codigo visual...

Una vez *tu* seas eficiente en desarrollar, preocupate por que lo sea tu software, porque sino terminaras haciendo un trabajo innecesario.
__________________
El malabarista.
Responder Con Cita