Topic : RIDE compile speed

Forum : Ride IDE

Original Post
Post Information Post
April 30, 2009 - 2:45pm
Guest

Have installed RIDE7 and the ARM kit to compile my project, the problem is that it appears very slow taking between 5 to 10 seconds to compile each file and with 100+ source files to do that is very time consuming.
I notice that most of the time is taken running the rexrdr.exe application, what is this doing as the actual running of the arm compiler itself is very quick and it would appear that this is wher the delay is.

I noticed a similar issue with RIDE6 but this was not as bad.

Is it to do with file dependencies?, I also notice that when I run Make or Build it always does the whole fileset every time.

Having done some further testing if would appear that the issue is when "arm-none-eabi-size.exe" is running but this may be a red herring it is just that this is the action displayed on the IDE status line but there may be another program run after this which is not show and it may be that program that is the true cause of the delay.
It would appear whatever it is, the more include files you have in the source file and subsequent nested includes, there is a lot of disk activity which would appear to be the cause of the delay.

Is there some sort of include file parsing going on to determine dependencies ?

Also if I run the compiler in a system shell (dos) window using a batch file to compile multiple files then there is no delay issue, each file compiles on average in < 1 second.

Thanks Mark

Replies
Post Information Post
+1
0
-1
June 8, 2009 - 9:35am
Guest

I have the same problem, but only with my new PC. With the same version of the RIDE7 IDE (7.16.0000) and the RKit-ARM for Ride7 (1.16.0930) on both PCs there is an extremely different behaviour of the compile speed.

"Old" PC: Dell Optilex 755, Intel Core2 Duo CPU 1,96GB RAM, Win XP Prof SP3
New PC: Lenonovo Think Station, Intel Core2 Duo CPU 3.00GB RAM, Win XP Prof SP3

The "old" PC is at least 10 times faster. The new PC has the delay and the disk activities in the same way as described by aelmicro. The task manager shows that the CPU is nearly idle at this delay time.

Maybe this information is a hint for somebody to find the reason for this problem.

+1
0
-1
June 8, 2009 - 10:21am
Guest

Do you have a virus scanner installed on both systems? If so try to make the scanner not scan source files.

+1
0
-1
June 8, 2009 - 11:10am
Raisonance Support Team

Hi all,

We found the root cause for this problem, which is is the handling of Ride7's "make" database. We are looking into it and should have a fix in the next Ride7 release, which should be available in the upcoming weeks.

Note that this problem was not present in Ride7 versions before October 2008 release, and is present *only* on large projects (several dozens of source files).

I hope this helps, sorry for the inconvenience.
Bruno

+1
0
-1
June 8, 2009 - 2:54pm
Guest

Hi

Untill a fix to this problem is provided here is a suggestion on how to increase compile speed.
With latest RKit-ARM you you should find under "GCC Compiler-> Compiler Output" the options:
+ Generate Listing Files
+ Generate Size Information
+ generate Dependencies

If you set these option to no the compile speed should increase.

Regards,
Matloub

+1
0
-1
June 9, 2009 - 9:24am
Guest

Thank you all for this information.
With the latest RKit-ARM I need only set the option "genererate Dependencies" to "no" and the compile speed is OK.

But I have a problem with the latest version. The option "Small printf" does not work as before. In the older version the library "e_stdio_thumb.a" is used for the sscanf and sprintf functions instead the library libc.a when this option is set to "yes".
The latest RKit-ARM seems to ignore this option.
Regards,

Stefan

+1
0
-1
June 9, 2009 - 11:58am
Guest

Is it wise to disable dependency generation?

+1
0
-1
June 9, 2009 - 5:27pm
Raisonance Support Team

Henrik,

Henrik wrote:
Is it wise to disable dependency generation?

Yes it is. The dependency information which is built when this option is activated is only for the project browser, and does not impact the build dependencies for Ride7's internal "make" facility.

The only impact will be on the project tree, as header file dependencies will not be accurate wit the option devalidated.

Regards,
Bruno