View Single Post
Old 07-11-2011, 04:21 PM   #199
yuri_b
Connoisseur
yuri_b will become famous soon enoughyuri_b will become famous soon enoughyuri_b will become famous soon enoughyuri_b will become famous soon enoughyuri_b will become famous soon enoughyuri_b will become famous soon enough
 
Posts: 71
Karma: 592
Join Date: Aug 2010
Device: irex dr800sg DR1000S
You forgot or don't know another aspect of unroll-loop optimizaion:
It encrease code size, the programm going to be bigger, and this is not good for ARM systems: the reason very simple the more code size - the more code must be read from memory into CPU, this CPU has 16KB data/16KB instruction cache -> a small and very fast memory, so most effisient function would be function with loops no bigger then 16KB - cache size, our regular memory: 128MB is a slow memory with slow access thru bus, so big functions will degrade overall perfomance of system.
This is a paradox: faster function are bigger and can be slower then small and not fast one, due to slow bus access to memory.
In my company we don't use unroll loops: because small size of code cache and big price of fast memory.
http://www.arm.com/products/processo...11/arm1136.php

Sincerely
Yura
yuri_b is offline   Reply With Quote