|
Hi there, I have a very big project with 100 files and lots of them will never change. I would like to reduce my compilation time. Is there any way to do that? thanks in advance stephane Vous manquez despace pour stocker vos mails ? Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut pour dialoguer instantanent avec vos amis. A tharger gratuitement sur http://fr.messenger.yahoo.com |
|
|
Reducing compilation time with CCS
Started by ●November 2, 2004
Reply by ●November 2, 20042004-11-02
|
Using the "build" button instead of "Re-build" should cause CCS to only re-compile those files that have changed since the last build (a la "make"). You may* still have to Re-build once at the start of every CCS session, but at least you are not re-compiling the entire project with every build within that session. *I have not tried this, and make in CCS could honour files that were compiled in previous CCS sessions. --- In , stephane deb <stephane_debuisson@y...> wrote: > > Hi there, > I have a very big project with 100 files and lots of > them will never change. > I would like to reduce my compilation time. Is there > any way to do that? > thanks in advance > stephane > > Vous manquez d'espace pour stocker vos mails ? > Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut pour dialoguer instantanent avec vos amis. A tharger gratuitement sur http://fr.messenger.yahoo.com |
Reply by ●November 2, 20042004-11-02
|
Hi Stephane, the 1. thing comming to my mind is switch opt level (-o) off. regards Gustl stephane deb wrote: > > Hi there, > I have a very big project with 100 files and lots of > them will never change. > I would like to reduce my compilation time. Is there > any way to do that? > thanks in advance > stephane |
Reply by ●November 2, 20042004-11-02
|
The files that don't change shouldn't compile if you use incremental build, unless they include changing header files. To avoid it, you can pack related files together into a library (.lib), so that you include it instead of the files in the main project. -----Mensaje original----- De: stephane deb [mailto:] Enviado el: martes, 02 de noviembre de 2004 10:22 Para: Asunto: [c6x] Reducing compilation time with CCS Hi there, I have a very big project with 100 files and lots of them will never change. I would like to reduce my compilation time. Is there any way to do that? thanks in advance stephane Vous manquez despace pour stocker vos mails ? Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut pour dialoguer instantanent avec vos amis. A tharger gratuitement sur http://fr.messenger.yahoo.com _____________________________________ Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. _____________________________________ About this discussion group: To Join: Send an email to To Post: Send an email to To Leave: Send an email to Archives: http://www.yahoogroups.com/group/c6x Other Groups: http://www.dsprelated.com Yahoo! Groups Links |
Reply by ●November 2, 20042004-11-02
|
yes, there is a perfect way to do this: Incremental build controlled by make-files. from my point of view its a big advantage to use a make-controlled build. You can checkin all your makefiles to your source-safe and rebuild older versions of your project exactly the same way the version was before. This is very important if you have to fix bugs in older versions that are already shipped to the customer.... You can create really comfortable build systems, for example with an automated check for what files each file depends on, but you can also start quite simple: *) decide for a make utility you want to use (gmake, nmake...) *) read the documentation of how to create makefiles for that utility *) take one of your projects as an example and create a makefile for it (first with all the dependencies manually edited in the makefile) *) compile the project calling make make will take care of what file it has to build (depending on the date and time it was last modified or one of the files it is depending of was modified) bye, thomas > > > Hi there, > I have a very big project with 100 files and lots of > them will never change. > I would like to reduce my compilation time. Is there > any way to do that? > thanks in advance > stephane > > Vous manquez despace pour stocker vos mails ? > Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut > pour dialoguer instantanent avec vos amis. A tharger gratuitement sur > http://fr.messenger.yahoo.com > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author > of this message will receive your answer. You need to do a "reply all" if > you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > > -- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum supergstigen Komplett-Preis! |
Reply by ●November 3, 20042004-11-03
|
Hi All- What pablo has suggested seems to be the best solution for your problem but shipping huge protions of your files to the customer as lib files may not go down very well with the customer! And as far as the make file suggestion by stephane, dont CCS internally maintain a make file anywhich ways? So why bother with an external make file? --Bhooshan ----Original Message Follows---- From: "Pablo Fraile" <> To: "stephane deb" <>, <> Subject: RE: [c6x] Reducing compilation time with CCS Date: Tue, 2 Nov 2004 15:12:37 +0100 The files that don't change shouldn't compile if you use incremental build, unless they include changing header files. To avoid it, you can pack related files together into a library (.lib), so that you include it instead of the files in the main project. -----Mensaje original----- De: stephane deb [mailto:] Enviado el: martes, 02 de noviembre de 2004 10:22 Para: Asunto: [c6x] Reducing compilation time with CCS Hi there, I have a very big project with 100 files and lots of them will never change. I would like to reduce my compilation time. Is there any way to do that? thanks in advance stephane Vous manquez despace pour stocker vos mails ? Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut pour dialoguer instantanent avec vos amis. A tharger gratuitement sur http://fr.messenger.yahoo.com _____________________________________ Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. _____________________________________ About this discussion group: To Join: Send an email to To Post: Send an email to To Leave: Send an email to Archives: http://www.yahoogroups.com/group/c6x Other Groups: http://www.dsprelated.com Yahoo! Groups Links _____________________________________ Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. _____________________________________ About this discussion group: To Join: Send an email to To Post: Send an email to To Leave: Send an email to Archives: http://www.yahoogroups.com/group/c6x Other Groups: http://www.dsprelated.com Yahoo! Groups Links _________________________________________________________________ Hey there NRIs! Desi news, films, n more! http://www.msn.co.in/nri/ Stay in the loop! |
Reply by ●November 3, 20042004-11-03
|
An external makefile has the big advantage that you can check it in in SourceSave or CVS and rebuild your .out File also after 5 years exactly the way it was now. In 5 years you'll have CCS 8.3 that will never be able to deal with the projects of now, but you'll still be responsible to maintain your code. You will not even be able to re-open the DSP-Bios configuration files. Maybe you will not be there and the poor guy in charge of finding your bug will go mad in trying to recompile the project. My favourite way: *) Compiler and other executable tools are called from a network drive, so if there are several team members everyone will build the target in exactly the same way. All compiler version ever used remain there (so that you can compile the project again with the old compiler...) *) All the build process is makefile controlled so compilation can be done from any team members pc at any time resulting in exactly the same .out file *) no local settings in environment variables, no local compiler settings in ccs, everything in makefile checked in in CVS -> on any pc, you start CVS, check out the project from 24.12.2002, open a cmd-window, call make and go for a coffee. 10 minutes later you have exactly the version of xmas 2002 and can start searching for the bug in that. bye, thomas > > > Hi All- > > What pablo has suggested seems to be the best solution for your problem > but > shipping huge protions of your files to the customer as lib files may not > go > down very well with the customer! > > And as far as the make file suggestion by stephane, dont CCS internally > maintain a make file anywhich ways? So why bother with an external make > file? > > --Bhooshan > > ----Original Message Follows---- > From: "Pablo Fraile" <> > To: "stephane deb" <>, <> > Subject: RE: [c6x] Reducing compilation time with CCS > Date: Tue, 2 Nov 2004 15:12:37 +0100 > > The files that don't change shouldn't compile if you use incremental > build, > unless they include changing header files. To avoid it, you can pack > related > files together into a library (.lib), so that you include it instead of > the > files in the main project. > > -----Mensaje original----- > De: stephane deb [mailto:] > Enviado el: martes, 02 de noviembre de 2004 10:22 > Para: > Asunto: [c6x] Reducing compilation time with CCS > > > Hi there, > I have a very big project with 100 files and lots of > them will never change. > I would like to reduce my compilation time. Is there > any way to do that? > thanks in advance > stephane > > Vous manquez despace pour stocker vos mails ? > Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut > pour dialoguer instantanent avec vos amis. A tharger gratuitement > sur > http://fr.messenger.yahoo.com > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author > of > this message will receive your answer. You need to do a "reply all" if > you > want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author > of > this message will receive your answer. You need to do a "reply all" if > you > want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > > > _________________________________________________________________ > Hey there NRIs! Desi news, films, n more! http://www.msn.co.in/nri/ Stay > in the loop! > > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author > of this message will receive your answer. You need to do a "reply all" if > you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > > -- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum supergstigen Komplett-Preis! |
|
|
Reply by ●November 4, 20042004-11-04
|
Hello Stephane and other responders,
Interesting topic and responses. Keep in minfd that each of us has
views that are prejudiced by our experiences [like what burned us last or worst]
and our "known build environments". here are some of my comments...
To the original question - "How to reduce build time".
1. Since CCS ships with gmake [gnu make], I suggest using it.
2. Review the layout of your program and header files with this in
mind. For an extreme example - if you have 99 program files and 1 header
file that is always included and changes often then you can forget it - you will
have to recompile everything.
3. Learn to use gmake and "make" it work for you. There are thousands
of examples available - but BEWARE - some are either poor examples or were
written with some unusual purpose in mind.
4. Command line makefiles are the only way to go [in my prejudiced opinion]
for large/complex projects but they have no advantage regarding "recreating what
you did back when" - the key here is to archive your environment, tools and
source files. In extreme cases this could include the OS, computer, code
generation and debug tools.
5. Some types of large projects may lend themselves to a structure that is
more suitable to parallel builds on multiple hosts and then linking.
RE: thomas' comments
I agree that it is important for all team members to be _able_ to
build the same exact executable. When the codebase is large and you build
every single file as debug with no optimization, the embedded c6x target may run
out of memory... Different developers may need to use different sets of
compile options to debug different portions of the code.
I hope that this helps,
mikedunn
k...@gmx.net wrote:
|
Reply by ●November 4, 20042004-11-04
|
Hi, you are right Mike, I was a litte bit focused on my project. There will be other requirements in other projects that require other solutions... > projects but they have no advantage regarding "recreating what you did > back when" - the key here is to archive your environment, tools and > source files. In extreme cases this could include the OS, computer, code > generation and debug tools. yes, not only the makefiles are required. Quite important are the compiler settings... If this is locally set somewhere hidden in CCS, then it is quite likely to be different on 2 different PCs. In my project, all the settings that can have an impact on the compilation are in textfiles somewhere, and all that is under CVS. Each version of the compiler and tools (directory ...ti\c6000\cgtools\bin) that is used is in a seperate directory on a network drive (not checked in in CVS...). The build process is in my case controlled by a .bat file that sets some environment variables locally (just for this one build) and calls the make. In the .bat File, a environment variable TI_PATH=somewhere/compiler/tms_c6x_Ver4.36 is set, that controlls which version of compiler and tools is used. In the makefiles, the compiler is called using this TI_PATH variable. The .bat File is checked in and the compiler versions on the network drives dont change once they are in use.... > I agree that it is important for all team members to be _able_ to build the > same exact executable. When the codebase is large and you build > every single file as debug with no optimization, the embedded > c6x target may run out of memory... Different developers may > need to use different sets of compile options to debug different portions of the code. Not just different developers, also different builds require different settings. The .bat file mentioned above accepts some command line parameters, that activate for example 'build with debug', 'build with asserts', 'build with release options'...., depending on this, the compilerswitches are set. If one wants want to implement a new feature, he checksout the current source and makes a complete build 'with debug options'. The debug-info like symbols will be there and you will be able to work with CCS. After testing, 'build with release options' and get the optimized .out.... If you want to have just some files in debugmode, compile everything 'with release options', then call 'make clean' of the files you are interested in and incremental build 'with debug options'.... Anyhow, it was just an example for an additional benefit of external makefiles from the point of view of my project... It works quite fine in my case and thats why I was telling you about it ;-) > Hello Stephane and other responders, > > Interesting topic and responses. Keep in minfd that each of us has views > that are prejudiced by our experiences [like what burned us last or worst] > and our "known build environments". here are some of my comments... > > To the original question - "How to reduce build time". > 1. Since CCS ships with gmake [gnu make], I suggest using it. > 2. Review the layout of your program and header files with this in mind. > For an extreme example - if you have 99 program files and 1 header file > that is always included and changes often then you can forget it - you will > have to recompile everything. > 3. Learn to use gmake and "make" it work for you. There are thousands of > examples available - but BEWARE - some are either poor examples or were > written with some unusual purpose in mind. > 4. Command line makefiles are the only way to go [in my prejudiced > opinion] for large/complex projects but they have no advantage regarding > "recreating what you did back when" - the key here is to archive your environment, > tools and source files. In extreme cases this could include the OS, > computer, code generation and debug tools. > 5. Some types of large projects may lend themselves to a structure that is > more suitable to parallel builds on multiple hosts and then linking. > RE: thomas' comments > I agree that it is important for all team members to be _able_ to build > the same exact executable. When the codebase is large and you build every > single file as debug with no optimization, the embedded c6x target may run > out of memory... Different developers may need to use different sets of > compile options to debug different portions of the code. > > I hope that this helps, > mikedunn > > wrote: > An external makefile has the big advantage that you can check it in in > SourceSave or CVS and rebuild your .out File also after 5 years exactly > the > way it was now. In 5 years you'll have CCS 8.3 that will never be able to > deal with the projects of now, but you'll still be responsible to maintain > your code. You will not even be able to re-open the DSP-Bios configuration > files. Maybe you will not be there and the poor guy in charge of finding > your bug will go mad in trying to recompile the project. > > My favourite way: > *) Compiler and other executable tools are called from a network drive, so > if there are several team members everyone will build the target in > exactly > the same way. All compiler version ever used remain there (so that you can > compile the project again with the old compiler...) > *) All the build process is makefile controlled so compilation can be done > >from any team members pc at any time resulting in exactly the same .out > file > *) no local settings in environment variables, no local compiler settings > in > ccs, everything in makefile checked in in CVS > > -> on any pc, you start CVS, check out the project from 24.12.2002, open a > cmd-window, call make and go for a coffee. 10 minutes later you have > exactly > the version of xmas 2002 and can start searching for the bug in that. > > bye, > > thomas > > > > > > > Hi All- > > > > What pablo has suggested seems to be the best solution for your problem > > but > > shipping huge protions of your files to the customer as lib files may > not > > go > > down very well with the customer! > > > > And as far as the make file suggestion by stephane, dont CCS internally > > maintain a make file anywhich ways? So why bother with an external make > > file? > > > > --Bhooshan > > > > ----Original Message Follows---- > > From: "Pablo Fraile" > > > To: "stephane deb" , > > Subject: RE: [c6x] Reducing compilation time with CCS > > Date: Tue, 2 Nov 2004 15:12:37 +0100 > > > > > > > > The files that don't change shouldn't compile if you use incremental > > build, > > unless they include changing header files. To avoid it, you can pack > > related > > files together into a library (.lib), so that you include it instead of > > the > > files in the main project. > > > > -----Mensaje original----- > > De: stephane deb [mailto:] > > Enviado el: martes, 02 de noviembre de 2004 10:22 > > Para: > > Asunto: [c6x] Reducing compilation time with CCS > > > > > > > > > > Hi there, > > I have a very big project with 100 files and lots of > > them will never change. > > I would like to reduce my compilation time. Is there > > any way to do that? > > thanks in advance > > stephane > > > > > > > > > > > > > > Vous manquez despace pour stocker vos mails ? > > > > > > Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut > > pour dialoguer instantanent avec vos amis. A tharger gratuitement > > sur > > http://fr.messenger.yahoo.com > > > > > > > > > > > > _____________________________________ > > Note: If you do a simple "reply" with your email client, only the author > > of > > this message will receive your answer. You need to do a "reply all" if > > you > > want your answer to be distributed to the entire group. > > > > _____________________________________ > > About this discussion group: > > > > To Join: Send an email to > > > > To Post: Send an email to > > > > To Leave: Send an email to > > > > Archives: http://www.yahoogroups.com/group/c6x > > > > Other Groups: http://www.dsprelated.com > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > > > > > > > _____________________________________ > > Note: If you do a simple "reply" with your email client, only the author > > of > > this message will receive your answer. You need to do a "reply all" if > > you > > want your answer to be distributed to the entire group. > > > > _____________________________________ > > About this discussion group: > > > > To Join: Send an email to > > > > To Post: Send an email to > > > > To Leave: Send an email to > > > > Archives: http://www.yahoogroups.com/group/c6x > > > > Other Groups: http://www.dsprelated.com > > > > Yahoo! Groups Links > > > > > > > > > > _________________________________________________________________ > > Hey there NRIs! Desi news, films, n more! http://www.msn.co.in/nri/ > Stay > > in the loop! > > > > > > > > > > > > > > _____________________________________ > > Note: If you do a simple "reply" with your email client, only the author > > of this message will receive your answer. You need to do a "reply all" > if > > you want your answer to be distributed to the entire group. > > > > _____________________________________ > > About this discussion group: > > > > To Join: Send an email to > > > > To Post: Send an email to > > > > To Leave: Send an email to > > > > Archives: http://www.yahoogroups.com/group/c6x > > > > Other Groups: http://www.dsprelated.com > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > -- > NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl > GMX DSL-Netzanschluss + Tarif zum supergstigen Komplett-Preis! > > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author > of this message will receive your answer. You need to do a "reply all" if > you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links -- Geschenkt: 3 Monate GMX ProMail + 3 Top-Spielfilme auf DVD ++ Jetzt kostenlos testen http://www.gmx.net/de/go/mail ++ |
|
|
Reply by ●November 5, 20042004-11-05
|
Hello all! Task-1 : I want to read a large data file (about 45000 sample points) into the DSP on sample by sample basis. Task-2 : After some processing I want to store the result on to the host. Pupose : The data file contains noisy speech signal. I want to do noise cancellation and then store the clean speech on to the PC. I want to demonstrate this on a C6711 simulator. Please do give some ideas in this regard as soon as possible. Thanking you in advance. Regards, Veena |






