Re: Fixed point cairo.. or no cairo?



Hi Richard,

On Tue, 2006-08-08 at 10:57 +0100, Richard Purdie wrote:
> Floating point instructions generate CPU exceptions on ARM and I don't
> think oprofile or sysprof support back tracing through the CPU exception
> handler.

	Right.

> One solution would be to run the tests against a soft floating point
> image, then the floating point instructions would show up as any other
> library instead of generating exceptions. They have slightly less
> overhead in that case but it would show them in context in the stack
> back traces.

	Sure - that'd be great: of course [ as one who has burned tons of time
optimising things that turned out not to be the problem[1] ;-] I'd
highly recommend re-running the profiling with soft floating point to
find the (perhaps small) number of hot-spots [ or API calls ] generating
all that floating-point goodness; that could then be
fixed-point-ized ;-)

> > The punch line is if you care enough, you
> > should back-port the glibc & binutils patch, and use
> > -Wl,--hash-style=both or --hash-style=gnu if you want to re-do your ABI
> > to save some space :-)
> 
> What ABI compatibility issues does that raise out of interest? Does
> everything need to use those options and if so, are they enabled by
> default in recent binutils/glibc?

	If you use --hash-style=both it generates both the old and new symbol
hash tables; that will add ~1-2% to your binary size; OTOH - it will be
backwards compatible [ if you care about your ABI ;-].

	If you don't much care about back-compat, and are happy to compile
everything with --hash-style=gnu then you can drop the back-compat .hash
section, and save any size hit.

	HTH,

		Michael.

[1] - an amusing example would be the time when I threaded makedeltaiso
and hyper-parallelized what I thought would (obviously) be the slow bit,
only to find it was ~5% of the time ;-). Or perhaps more recently, when
I foolishly believed the massif output [evil tool], and spent a week
optimising something that was again insignificant ;-)
-- 
 michael meeks novell com  <><, Pseudo Engineer, itinerant idiot





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]