| View previous topic :: View next topic |
| Author |
Message |
Hechicero Guest
|
Posted: Thu Sep 07, 2006 9:27 pm Post subject: very (VERY) big application |
|
|
Hi,
I want to explain it very carefully.
My company develops a very big application in Delphi 7 that consists
of 15 bpls and 1 executable without counting third party components. By very
big I mean that it takes more than 1 and a half hour to rebuild everything
in a Pentium 4 2GHz. (Project.. Build All).
Also its very difficult to debug the application. If you put a
breakpoint besides being very slow you cant press f7 because Delphi hangs.
To make things worst lately we've been having linking problems
(random jumps from one procedure to another) that are forces us to rebuild
everithing.
Developement time is taken too long and simple problems takes
developers a lot of time to solve because the application size.
In short time I plan to lead a project to "modularize" (I know that
word does not exists but I dont know how to translate it), the application
in a way that solves the problem. But before that I want to gather
information in newsgroups regarding this issue.
For example one option would be to divide the app in many executables
and find a way to give the executable the info it need.
I hope you can help me. I dont like to write very long mails becuse
they get difficut to readso I guess that to help you'd first need to ask
some questions.
Esteban Calabria |
|
| Back to top |
|
 |
Charles McAllister Guest
|
Posted: Fri Sep 08, 2006 12:04 am Post subject: Re: very (VERY) big application |
|
|
Hechicero wrote:
| Quote: | Hi,
I want to explain it very carefully.
My company develops a very big application in Delphi 7 that consists
of 15 bpls and 1 executable without counting third party components. By very
big I mean that it takes more than 1 and a half hour to rebuild everything
in a Pentium 4 2GHz. (Project.. Build All).
|
i find that hard to believe. must be something wrong.
i'm compiling a project that is over a million lines of code, in around 15 seconds.
on a computer like the one you've mentioned, i would expect it to compile in about 30 seconds.
is the source located on network shares? what about the output path, is it local? |
|
| Back to top |
|
 |
Cesar Romero Guest
|
Posted: Fri Sep 08, 2006 12:06 am Post subject: Re: very (VERY) big application |
|
|
Are you compiling all librarys again?
Are your components source path in Library path?
I think that should be part of you problem...
I try never to rebuild the components and library .dcu
[]s
Cesar Romero |
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 12:12 am Post subject: Re: very (VERY) big application |
|
|
Belive me, its true. I really find hard to belive what you say. It makes me
envy. Does it takes 15 seconds to rebuild???
Everithing is local. We use cvs and every programmer works with a local copy
of the source files. The output is also local.
Besides I know another company that has a similar product (a little smaler)
and also takes a lot of time to compile. They also use Delphi 7.
| Quote: | i find that hard to believe. must be something wrong.
i'm compiling a project that is over a million lines of code, in around 15
seconds.
on a computer like the one you've mentioned, i would expect it to compile
in about 30 seconds.
is the source located on network shares? what about the output path, is it
local? |
|
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 12:14 am Post subject: Re: very (VERY) big application |
|
|
Whe only compile our sources. Third Party tools and libraries in the library
path are already compiled.
Besides the compiling times we have the problem that its very difficult to
debug the application and the linking problems that forces frecuently
rebuilds
"Cesar Romero" <cesar (AT) liws (DOT) com.br> escribió en el mensaje
news:45006dad$1 (AT) newsgroups (DOT) borland.com...
| Quote: | Are you compiling all librarys again?
Are your components source path in Library path?
I think that should be part of you problem...
I try never to rebuild the components and library .dcu
[]s
Cesar Romero |
|
|
| Back to top |
|
 |
Charles McAllister Guest
|
Posted: Fri Sep 08, 2006 2:27 am Post subject: Re: very (VERY) big application |
|
|
Hechicero wrote:
| Quote: | Belive me, its true. I really find hard to belive what you say. It makes me
envy. Does it takes 15 seconds to rebuild???
yes. to do a full build on 1 million lines of code takes 15 seconds on my humble machine. |
you didn't mention how much RAM you had available?
also, you may have a virus scanner scanning the exe output during/after compiling.
can you check the cpu utilization during compiling to see if Delphi really is the only process consuming CPU time? |
|
| Back to top |
|
 |
Rudy Velthuis [TeamB] Guest
|
Posted: Fri Sep 08, 2006 3:42 am Post subject: Re: very (VERY) big application |
|
|
At 18:27:31, 07.09.2006, Hechicero wrote:
| Quote: | Hi,
I want to explain it very carefully.
My company develops a very big application in Delphi 7 that consists
of 15 bpls and 1 executable without counting third party components. By
very big I mean that it takes more than 1 and a half hour to rebuild
everything in a Pentium 4 2GHz. (Project.. Build All).
|
Could it be that you are compiling files that are on another computer in
a network? That could be so slow, but otherwise, this is far too slow.
In that case, the best you can do is to make a local copy and compile
that. Is that any faster?
It could also be that a virus scanner or some such is interfering. But 90
minutes to compile a project is too slow.
--
Rudy Velthuis [TeamB] http://rvelthuis.de/
"Analyzing humor is like dissecting a frog. Few people are
interested and the frog dies of it."
-- E. B. White (1899-1985) |
|
| Back to top |
|
 |
Jarle Stabell Guest
|
Posted: Fri Sep 08, 2006 4:54 am Post subject: Re: very (VERY) big application |
|
|
Hechicero wrote:
| Quote: | Hi,
I want to explain it very carefully.
My company develops a very big application in Delphi 7 that
consists of 15 bpls and 1 executable without counting third party
components. By very big I mean that it takes more than 1 and a half
hour to rebuild everything in a Pentium 4 2GHz. (Project.. Build All).
|
Perhaps this blog entry is relevant, where they reduced compilation time
from 90 minutes to 50 seconds:
http://blogs.borland.com/fhaglund/archive/2006/07/03/25804.aspx
Cheers,
Jarle |
|
| Back to top |
|
 |
Marc Rohloff [TeamB] Guest
|
Posted: Fri Sep 08, 2006 7:22 am Post subject: Re: very (VERY) big application |
|
|
On Fri, 8 Sep 2006 01:54:54 +0200, Jarle Stabell wrote:
I was thinking of this one:
http://blogs.borland.com/stevet/archive/2006/02/27/23540.aspx
This applies to D2006, I don't know if it affects D7.
--
Marc Rohloff [TeamB]
marc rohloff -at- myrealbox -dot- com |
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 6:39 pm Post subject: Re: very (VERY) big application |
|
|
No, everything is local. Every programmer has its local copy of the sources
"Rudy Velthuis [TeamB]" <newsgroups (AT) rvelthuis (DOT) de> escribió en el mensaje
news:xn0eqyp1vsjna4w01a-velthuis (AT) www (DOT) teamb.com...
| Quote: | At 18:27:31, 07.09.2006, Hechicero wrote:
Hi,
I want to explain it very carefully.
My company develops a very big application in Delphi 7 that consists
of 15 bpls and 1 executable without counting third party components. By
very big I mean that it takes more than 1 and a half hour to rebuild
everything in a Pentium 4 2GHz. (Project.. Build All).
Could it be that you are compiling files that are on another computer in
a network? That could be so slow, but otherwise, this is far too slow.
In that case, the best you can do is to make a local copy and compile
that. Is that any faster?
It could also be that a virus scanner or some such is interfering. But 90
minutes to compile a project is too slow.
--
Rudy Velthuis [TeamB] http://rvelthuis.de/
"Analyzing humor is like dissecting a frog. Few people are
interested and the frog dies of it."
-- E. B. White (1899-1985) |
|
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 6:40 pm Post subject: Re: very (VERY) big application |
|
|
Program is about 2.5 M lines of code
"Gerrit Beuze" <gerrit[at]modelmaker[dot]demon[dot]nl> escribió en el
mensaje news:450108f6 (AT) newsgroups (DOT) borland.com...
| Quote: | Hello Esteban,
My company develops a very big application in Delphi 7 that
consists
of 15 bpls and 1 executable without counting third party components. By
very
big I mean that it takes more than 1 and a half hour to rebuild
everything
in a Pentium 4 2GHz. (Project.. Build All).
To kow what we're talking about: how many lines of code get actually
compiled when you do a build all: 1 million, 10million?
If you have compiler progress enabled the compiler progress window
will show how the # of lines.
Gerrit Beuze
ModelMaker Tools
|
|
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 6:49 pm Post subject: Re: very (VERY) big application |
|
|
A lot more if you cout third party tools (which by the way are never
rebuilded)
"Hechicero" <accesosecuencial (AT) yahoo (DOT) com.ar> escribió en el mensaje
news:450172c0 (AT) newsgroups (DOT) borland.com...
| Quote: | Program is about 2.5 M lines of code
"Gerrit Beuze" <gerrit[at]modelmaker[dot]demon[dot]nl> escribió en el
mensaje news:450108f6 (AT) newsgroups (DOT) borland.com...
Hello Esteban,
My company develops a very big application in Delphi 7 that
consists
of 15 bpls and 1 executable without counting third party components. By
very
big I mean that it takes more than 1 and a half hour to rebuild
everything
in a Pentium 4 2GHz. (Project.. Build All).
To kow what we're talking about: how many lines of code get actually
compiled when you do a build all: 1 million, 10million?
If you have compiler progress enabled the compiler progress window
will show how the # of lines.
Gerrit Beuze
ModelMaker Tools
|
|
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 6:49 pm Post subject: Re: very (VERY) big application |
|
|
CPU utilization goes up to 98 percent (no other process is holding de CPU)
Really I would belieave that if you have a NASA computer it takes 15 seconds
to compile (because it compiles only the modified units).
But 15 seconds to rebuild???? You are killing me....
Unfortunately its not my case. The compilation time I am talking about its
real....
"Charles McAllister" <charles (AT) avimark (DOT) net> escribió en el mensaje
news:45008eb2$1 (AT) newsgroups (DOT) borland.com...
| Quote: | Hechicero wrote:
Belive me, its true. I really find hard to belive what you say. It makes
me envy. Does it takes 15 seconds to rebuild???
yes. to do a full build on 1 million lines of code takes 15 seconds on my
humble machine.
you didn't mention how much RAM you had available?
also, you may have a virus scanner scanning the exe output during/after
compiling.
can you check the cpu utilization during compiling to see if Delphi really
is the only process consuming CPU time? |
|
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 6:52 pm Post subject: Re: very (VERY) big application |
|
|
Thanks for the post, its really usefull...
One of our programmers knew that tool ICARUS but we never used, that may
speed compilation times
"Marc Rohloff [TeamB]" <"on request"> escribió en el mensaje
news:1x6avx0t2qlzt$.dlg (AT) dlg (DOT) marcrohloff.com...
|
|
| Back to top |
|
 |
Hechicero Guest
|
Posted: Fri Sep 08, 2006 7:14 pm Post subject: Re: very (VERY) big application |
|
|
Let me add some other info...
Right know the solutions you kindly suggested pointed to speeding up
compilation times wich is good, but that I'd like to remind that that is not
the only issue here...
Because of the program size the following issues arrives.
a) Inhability to debug with f7. If you press F7 your Delphi hangs up.
Latately, which mostly motivated this post, arrived the following problems
b) Linking errors that shows random jums from one place to another and
forces to rebuild (this is VERY important)
c) Components that acts different if they are executed from the exe or one
of the bpls.In particularry a query that is empty if it is executed within a
BPL and returs data if its invoked in the exe. The funny thing is that that
happens in some machines but not in other. Can be solved if you delete the
dcu and rebuild.
I want to clarify that if I compile the aplication without rebuilding the
compilation times are acceptable but lately we've been forced to do some
rebuilds more frecuently
Also I am aware that compilation times takes too long because of some highly
coupled units usage that, from what I was told the Delphi Compiler (and
parser works), tend to make compilation time a lot slower.
If you have suggestions on how to speed up compilation time and solve that
problem mentiones above the are very welcome. But what I am also looking
foward is to find a way to separate the application in different modules
that could be different executables for instance.
So despite that any info that can help to speed up compilations are really
appreciated. But also I am interested in "modularizing" the program in many
independant modules that could be DLL, dynamically loaded bpls (with load
library) or different Exes.
Esteban Calabria |
|
| Back to top |
|
 |
|