Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cuando optimizo mi código? * (https://www.clubdelphi.com/foros/showthread.php?t=52167)

mamcx 12-01-2008 03:59:03

Cuando optimizo mi código? *
 
COmo muchos programadores, es facil preocuparse por cuando optimizar el código.

Luego de muchos analisis y estudios serios al respecto, esta es mi conclusión personal:


Nunca optimizo cuando

- programo Winforms en .NET. Nada que haga puede mejorar la situación.
- bajo presión, casi siempre cuando trabajo en .NET (NOTA AL LECTOR: .NET es lo que mas uso para trabajos "sobornados", otras herramientas elegidas para la diversión!)
- cuando hago HTML. Es casi imposible hacer html,css,javascript+diseño+hacks a tiempo. No puedo hacer casi nada aparte de mucho google, copiar ejemplos, usar firebug demasiado y rogar por la abolición de cualquier versión de IE < 7, un mejor CSS, un mejor javascript, soporte a formularios mejorados, mayor eliminacion de la necesidad de javascript y mucho mas.
- cuando compilo cosas en C/C++. Un desafortunado efecto secundario, completamente innecesario y terriblemente odiado degenerado de la necesidad de montar sitios bajo *nix que tienen la infortunada tendencia a usar GCC para compilar todo, que es una vaina C++. Uchele!

Optimizo mi código de forma prematura cuando:

- Programo en Delphi. Lo resuelve casi todo.
- Programo en pythoh, resuelve el resto (osease: sitios web).
- Cuando años atras, decidi nunca JAMAS programar en C++. Felicidad garantizada
- Meses despues, decidi nunca JAMAS programar en Java. Mas felicidad
- Cuando no programe en VB. No lo decidi, fue obvio ;)
- Cuando programo en.NET & no es bajo presion & son librerias o programas "server side". Es cool mezclar varios lenguajes sin tantas vueltas
- Cuando años despues, luego de la bomba de la web, decidi no aprender, no apoyar ni programar en PHP o PERL. Una vez fui debil pero me dolio tanto TANTO, que no repito la experiencia, lo juro!

Entonces, la mejor optimizacion radica en la buena eleccion de herramientas, no tener miedo de estar fuera de lo comun, hacer codigo claro, probar pronto, y nunca optimizar de forma prematura. Eso!


* Basado en mi respuesta en un thread de los newsgroups de CodeGear, que me parecio graciosa. Si no te ries recuerda: No es que sea graciosa, ME PARECIO A MI. Gracias.

Casimiro Notevi 12-01-2008 13:44:06

Yo optimizo en Delphi y en C.
He usado aunque no me gusta C++ y no he usado, sólo "inspeccionado", Java... y no me gusta nada, nada, nada.
¿Optimizar html, javascript, etc.?... pero... ¿se puede?.
:)

xEsk 13-01-2008 14:50:50

Cita:

Empezado por Casimiro Notevi (Mensaje 257725)
Yo optimizo en Delphi y en C.
He usado aunque no me gusta C++ y no he usado, sólo "inspeccionado", Java... y no me gusta nada, nada, nada.
¿Optimizar html, javascript, etc.?... pero... ¿se puede?.
:)

Creo que optimizar los html, javascript, css... etc, no se limita solo en optimizar el código para que sea mas rápido, sino en reducirlo en tamaño (bytes), ya que cuanto menor sea el tamaño de las fuentes mas rápido se descargaran las paginas.

Yo entiendo esto cuando se habla de optimizar contenido web.

Saludos.

Casimiro Notevi 13-01-2008 17:55:41

Cita:

Empezado por xEsk (Mensaje 257847)
Creo que optimizar los html, javascript, css... etc, no se limita solo en optimizar el código para que sea mas rápido, sino en reducirlo en tamaño (bytes), ya que cuanto menor sea el tamaño de las fuentes mas rápido se descargaran las paginas.
Yo entiendo esto cuando se habla de optimizar contenido web.
Saludos.

Tienes razón, es muy importante optimizar para que pasen los menos datos posibles por la red.

Ñuño Martínez 13-01-2008 18:18:42

Una cosa que he aprendido, bien por lecturas bien por experiencia propia, es optimizar cuando ya está el programa terminado y no antes. La razón es simple: hasta que no se termina el programa no puedes saber cómo afectará una optimización concreta al conjunto del programa. Por ejemplo, puedes optimizar una función al principio y, cuando el programa está terminado, resulta que esa función representa sólo un 1% del trabajo que realiza el programa o que necesita muy poca memoria, por lo que poco se notará si está o no optimizada.

El proceso es simple, basta con buscar aquellas funciones que más tiempo/trabajo realicen en el programa completo o que mayores necesidades de memoria tienen (los programas denominados "profilers" pueden ayudar mucho en esto) y optimizar aquellas que se ejecuten más veces o durante más tiempo o que necesiten más memoria.

JXJ 14-01-2008 21:09:25

mamcx
¿En python, cuales son las herramientas que usas?
¿tu hardware de desarrollo, y sistemas operativos, para desarrollar y para hacer
el deploy, o donde será el destino final de tus desarrollos?

mi wbe hosting tienen php 4.x con iis, sobre windows, con posibilidad de usar .net.
nada mas que no he logrado hacer funcionar el software (mostrar contenido de tablas mysql y modificarla - en local si sirve mi programa con delphi.net y con cassini).


mi equipo de desarrollo es windows vista home premium..
delphi win32, .net, php 4 y 5 sobre apache

¿como le haces para manejar lo que manejas?

mamcx 14-01-2008 21:23:13

Para python uso la distribucion para Windows de ActiveState, Komodo como Editor (desgraciadamente nunca he podido habilitar la depuracion asi que hago import pdb - pdb.set_trace()) y http://www.djangoproject.com/ como framework para los sitios.

Despliego un un paquete "reseller" y pronto www.paradondevamos.com sera en un Accelerator de Joyent (http://www.joyent.com/) lo que implica que despliego tanto en windows, linux y solaris.

Estoy corriendo ahora en WinXP 64 bits y planeo dentro de poco montar el RC de Windows 2008 Server. La verdad, me gustan mas las versiones de Windows de servidores (NT4, Win2000, Win2003) que las otras porque me han dado menos problemas, son mas seguras y tienden a ser mas rapidas.

Uso VMWare dentro del cual monto un Win2000 para probar idioteces, El linux de moda (ubuntu), Solaris 10 y ya.

El equipo si es un monstruo ;) Sun Workstation Ultra 40 4 procesadores / 8 GB de RAM. La verdad? POr fin me decepciona el desempeño de Windows XP. Estoy esperanzado que con Win 2008 me vaya mejor y tambien planeo montar un linux a ver como me va. Desafortunadamente como tambien mi hermano usa el equipo con 3D Studio estoy amarrado a Windows forever!

Debido a que he sido un "mercenario" toda la vida tengo un setup muy diverso. Visual Studio, Delphi, Komodo, Sql Server, MySql, Postgress, Firebird (trabajo mucho haciendo integracion entre sistemas, razon la cual tantas pendejadas). Intento mantener la cordura usando subversion, trac y un cuasi cronograma en que hoy trabajo delphi, mañana python, pasado .net, etc... Es lo que mas aburrido me tiene :(.

Por lo demas, mucho rock & clasica!

JXJ 15-01-2008 01:08:12

Con razon puedes andar con python y .net (se alentan un poco los programas
mas cuando hago el codigo mal.)

yo apenas pase de 256 mb de memoria y xp pro. a 1 giga con vista home premium


gracias- ;D

mamcx 15-01-2008 02:37:16

Pero python es muy eficiente, en comparacion con .net ;)

Corri paradondevamos.com durante 1 año con 80 MB de RAM y funciono bien. Asi que python no es tan lento.


La franja horaria es GMT +2. Ahora son las 02:45:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi