IAR Compilation Performance

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IAR Compilation Performance

1,977 Views
razed11
Contributor V

Hello,

 

When I build the Hello program (SDK 1.0.0 (Beta)) for the K64 on IAR 7.20.2 the performance is very slow compared to another project using a different vendor's Cortex-M. As far as I can tell it is not the obvious stuff like optimization level or the complexity of the file. For example the Kinetis "hello_world.c" takes 2-3 seconds to build. The other project will compile up to five files in the same amount of time.

 

Any thoughts on options that may be causing the slow down? Or is this a Windows thing with it being installed in the C:\Freescale? I'll continue experimenting in the meantime.

 

Thanks,

 

Kenny

Labels (1)
0 Kudos
5 Replies

1,300 Views
razed11
Contributor V

Update:

I corresponded with David Seymour on another thread. The build performance is a known issue with IAR but they expect to address this in time. The KSDK is in beta after all. I did build with the MQX 4.x tools and performance is very good.

Given my project's needs (RTOS, UARTs, and a parallel bus to an FPGA) I'll use MQX 4.x for now. I also have experience writing my own peripheral drivers should it come to this.

The KSDK may be a better choice if you are using the supported chips, would like to use the free IDE, would like to take advantage of the peripheral drivers, and have a timeline that can accept some flaws in the beta software.

I suspect I'll use this family for future projects so I'll be keeping an eye on the KSDK as the notion of good peripheral drivers in addition to the RTOS is of interest.

Kenny

0 Kudos

1,300 Views
mjbcswitzerland
Specialist V

Hi

Is this not due to the quantity of files involved?

I believe the freescale projects tend to have a lot of small files rather than a small number of larger files and so the compiler has to open and close many files which may take longer than the actual compiling part.

However i don't think that a build time should weigh too heavily when chosing a solution - a reliable project that builds in 3s is still better than one that builds in 1s but then fails due to bad quality ;-)

Regards

Mark

0 Kudos

1,300 Views
razed11
Contributor V

Hi Mark,

Thanks for the reply. It's not a total build time issue. It's the rate at which it builds individual files (which of course impacts the total build time). And I'm not choosing tools, I already own IAR and have used it for many years on several Cortex-M, ARM7, and ARM9 projects so I have a good feel for the tool.

Performance matters when one is iterating quickly to resolve an issue or other issues like fatigue/frustration of using a poorly performing tool. And, as I mentioned, another Cortex project builds much faster so this is an apples-to-apples comparison. Best to find the problem and fix it than accept it over the life of a project.

K

0 Kudos

1,300 Views
mjbcswitzerland
Specialist V

Hi Kenny

I see. Maybe the freescale files are using header files calling other header files - with lots of macros etc. that make the overall effort greater (?)

I mainly use Kinetis simulation so have no cross-compiling (nor downloading) delays for most work but my preference is certainly to use a make file "outside" of the IDE for cross-compiling since this tends to be (much) faster. Maybe this is possible with IAR (because I use GCC for production work I never thought of experimenting) - the newer versions (V6 and V7) have started to become rather sluggish since the IDE seems to be "checking things" all the time in parallel with normal work.

Regards

Mark

0 Kudos

1,300 Views
razed11
Contributor V

Maybe but if it is using that many macros then I'd prefer not to use it as a solution at all! Actually, it makes me think that I should compile something silly with no includes......did that and it was nearly instantaneous. OK, I think you are on to something. The question is can I improve it?

I have a long list of grievances with IAR but I haven't found it to be sluggish on builds. It's just become less stable over the 8 or so years that I've used it and they've done absolutely nothing to innovate. The debugger makes it worthwhile however. It's like democracy being the worse form of government except the rest. Although I haven't really tried Crossworks. I wouldn't say that makefiles are faster though in my experience having written my own as well on other projects. In the last year or so I've done some pretty intensive development on an STM Cortex-M4, an Analog Devices Cortex-M3, even an MSP430 all with IAR and the builds were fine if not peppy. Obviously there is something nasty about this SDK. I even have an SSD.

I could carry on about the state of embedded tools. We'd need a bar or pub for that discussion however.

0 Kudos