Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-04-2005
jfk76 jfk76 is offline
Miembro
 
Registrado: ago 2004
Posts: 11
Poder: 0
jfk76 Va por buen camino
Compilacion lenta en Delphi 7

Hola gente del foro, como andan?. Les comento cual es mi duda para saber si me pueden dar una mano. (disculpen si es que existe un hilo que hable acerca de esto pero busqué y no lo encontré).

Antes que nada les comento cual es el escenario de trabajo para que uds. tengan conocimientos, que creo, necesarios para que puedan ayudarme.
Actualemente, somos un grupo de trabajo, 5 programadores (c/u con su pc) y un servidor (Windows 2000 server).
En cada pc todos programamos con delphi 7. Para acelerar el proceso de programación tenemos un conjunto de clases visuales (tipo un framework o una jerarquia de clases), las cuales son utilizadas en los distintos proyectos, heredando de las mismas. Estas clases estan en un directorio compartido del servidor.
POr otro lado, todos los paquetes que se utilizan son instalados tambien en un directorio del server. Los paquetes son instalados de la siguiente manera:
- En un dir. BPL se colocan todos los bpl de los paq. instalados, de manera, que desde cada Pc si uno desea un paq. accede a dicho directorio y agrega el bpl.
- En otro dir guardamos los source y en otro los dcu, etc.
Obviamente todos los paths correctamente seteados.

POr ultimo, cabe aclarar que todos los proyectos estan en el servidor, no locales a la pc en que se programa.

Hasta aqui todo bien y nos resulta muy flexible y utili trabajar asi, el problema es el siguiente:

Cuando un proyecto se va ampliando en funciones, con forms, componentes, y todo lo que se puede agregar , la compilación se vuelve muy lenta (hasta 4 o 5 minutos).
Lo raro es que, (tambien tenemos delphi 5 instalado) y en delphi 5 no es lento la compilación.

Hemos probado la compilación dinámica, utilizando la opción "Build with runtime packages" en Project -> opctions y tampoco da resultado.
Tambien, probamos dejar solo lo necesario y no hay caso.

Bueno, espero que se entienda mas o menos cual es el escenario y si alguien tiene alguna solución se los agradeceré.

POr otro lado, si alguien trabaja de alguna de otra forma (compartiendo clases, componentes, etc) y funciona ok estoy abierto a escurcharlas.

Saludos a todos, y muchas gracias.

Jorge.
Responder Con Cita
  #2  
Antiguo 15-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
En primer lugar, creo que el cuello de botella es la red. Es de cuanto 10 MB? 100? Delphi trastea mucho con los archivos..

La demara es en un BUILD o un COMPILE? Si es en el Build, consideren hacer un batch que haga el BUILD por linea de comandos, fuera del IDE....

Si el framework es ESTABLE y no se toca, no pongan los .pas de este en la lista de directorios de los proyectos. Para que estar recompilandolos? Solo necesitan los .dcu...

Es posible que esten recompilando las fuentes de Delphi... ya chequearon?

Sin embargo, la solucion que tienen no me parece la mejor. Porque no usan un control de codigo fuente donde puedan tener un repositorio central pero un trabajo distribuido?

Ya escribi algo en

http://www.clubdelphi.com/foros/show...4589#post84589

En conclusion, un desarrollador independiente deberia usar un esquema de control de codigo fuente. En un equipo, es un requerimiento ineludible!
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 15-04-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Yo he trabajado así durante haños, con la salvedad que tanto los proyectos como las DCU se compilan localmente en el disco. Lo que se logra con esto, es que solo lea de la red, aquellas units modificadas a la hora de compilar.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 18-04-2005
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola a todos.
Bueno, por la experiencia que tengo me sumo a los comentarios de mamcx y Federico. Creo que el problema está en la red y que para estos escenarios de trabajo lo mejor es disponer de un software control de versiones, que permita al equipo estar sincronizado en cuanto a modificaciones se refiere. Esto implica que la compilación se hace local, con lo cual los tiempos baja considerablemente de los 4 o 5 minutos que mencionabas. En mi caso una applicacion de bastente peso la compila en aproximadamente 10/12 segundos.
De todas formas comprueba que esten desactivadas la opciones:
-Platform Symbol
-Platform Unit
-Unsafe Type
-Unsafe Code
-Unsafe typecast
en Project -> Options -> Compiler Messages
Siempre aceleraran el proceso.

Saludos
Responder Con Cita
  #5  
Antiguo 18-04-2005
jfk76 jfk76 is offline
Miembro
 
Registrado: ago 2004
Posts: 11
Poder: 0
jfk76 Va por buen camino
Gracias a todos por responder a mi inquietud.

Con respecto a las alternativas que mencionaron, tengo algunas dudas acerca de su implementación.

Por ejemplo con respecto a la utilización de un programa de Control de versiones (hemos utilizado el FreeVCS), por lo que he visto tienen todo centralizado en un lugar y posteriormente si deseo trabajar en otra pc se realiza una copia local en dicha pc. La duda que tengo es si se copia todo, por ejemplo, en nuestro caso si tenemos todo en el servidor: framework de clases visuales, bpl y demas, todo esto es copiado localmente a la pc de desarrollo,
Esto es así?, con lo cual debe ser el programa de control de versiones el encargado de la sincronización de los cambios.

Agradezco nuevamente a uds. sus comentarios y espero poder dar una solución a esta situación, ya que soy de la idea, que si uno desea contruir aplicaciones robustas, mantenibles y flexibles se deben seguir ciertas "pautas" o reglas (del estilo de las que mamcx expuso en su link - estoy de acuerdo en muchas ellas -) y mas aún cuando se trabaja dentro de un grupo de desarrollo.
El punto que deseamos mejorar es juntamente el del hilo en custion, es decir, como relizar un trabajo organizado y "eficiente" dentro de un grupo de trabajo.

Saludos a todos.
Responder Con Cita
  #6  
Antiguo 18-04-2005
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.

El FreeVCS gestiona y sincroniza todo los archivos que componen un Projecto Delphi. Todo lo que no este dentro del projecto pues... no estoy seguro pero creo que no.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:29:48.


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
Copyright 1996-2007 Club Delphi