Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

ARM vs THUMB performance

ARM vs THUMB performance

2004-02-12 by Michael Johnson

I did a simple comparison using the test program for our fast floating
point maths library and found that GCC generates THUMB code 30% smaller
than ARM code but takes 40% longer to execute.

Regards
Michael

Re: ARM vs THUMB performance

2004-02-12 by lpc2100

ARM vs Thumb for Intel Strong ARM
This paper says that mixing the ARM and Thumb minimizes the code size 
and performance penalty.

http://www.cs.arizona.edu/people/gupta/research/Publications/Comp/L14-
krishnaswamy.pdf

The average performance hit in Thumb mode is about 20%.
One of the slides in this presentation compares various EEMBC 
benchmarks.

http://www.jp.arm.com/kk/arm_forum2003/ppt/architecture%
20_extensions.ppt

--- In lpc2100@yahoogroups.com, "Michael Johnson" <mpj@r...> wrote:
> I did a simple comparison using the test program for our fast 
floating
> point maths library and found that GCC generates THUMB code 30% 
smaller
Show quoted textHide quoted text
> than ARM code but takes 40% longer to execute.
> 
> Regards
> Michael

Re: ARM vs THUMB performance

2004-02-13 by Peter

--- In lpc2100@yahoogroups.com, "lpc2100" <lpc2100@y...> wrote:
> ARM vs Thumb for Intel Strong ARM
> This paper says that mixing the ARM and Thumb minimizes the code 
size and performance penalty.

Be sure to compare like with like; using Thumb code on a cached 
processor can change the cache behaviour quite considerably - you 
may have less cache-line evictions, or you may have adverse effects 
because of interworking or long-jump veneers taking up cache lines - 
now that isn't an issue with LPC, but any documents you find *may* 
be measuring a system with memory speeds quite unlike your own.

I'm bemused by the "ARM vs Thumb for Intel Strong ARM" tag - 
StrongARM doesn't have Thumb capability.

To get back on-topic, I strongly advise profiling *your* application 
to see which functions can win you back code space if compiled as 
Thumb code without adversely affecting performance, Michael's 
figures seem to be a good first-pass estimate for general use for 
people using the gnu compiler on LPC.

Peter.

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.