Bug 22938 - Please add a make target for profile-optimized build
Summary: Please add a make target for profile-optimized build
Status: RESOLVED WONTFIX
Alias: None
Product: pixman
Classification: Unclassified
Component: pixman (show other bugs)
Version: other
Hardware: Other All
: medium enhancement
Assignee: Søren Sandmann Pedersen
QA Contact: Søren Sandmann Pedersen
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-24 11:47 UTC by Clemens Eisserer
Modified: 2011-05-09 01:56 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Clemens Eisserer 2009-07-24 11:47:30 UTC
With profile driven optimizations, trapezoid rasterization is 10-25% faster.
It would be great if pixman's build scripts could perform a profiling run (at least for traps) in a new target, so that lazy distributors could get better optimized binaries without any additional effort.

-------------------
Long story:

I dumped all trapezoids passed to X in a binary file (firefox, kde, gtk apps), and wrote a small benchmark which passes that traps to pixman for rasterization.
I guess a small selection of common trapezoids would do it, so that 14mb binary blob isn't required ;)

i686/generic/O2:		 4.4s (366kib)
i686/generic/O3:		 4.4s (400kib)
native/O3:			 4.3s (440kib)
i686/generic/O2 + profile:	 3.5s
i686/generic/O3 + profile:	 3.48s
native/O3 + profile:		 3.35s (296kib)
---------------------------
QGears2/O2:                      ~70fps
QGears2/O2+profile               ~80fps

Because trapezoid rasterization is quite often a bottleneck when using the image backend and is also quite important for RENDER performance it would be great if at least for pixman-edge/pixman-traps a new make target could be added which does a profile-run with some common trapezoids.

What I've seen from my tests it doesn't matter if the profile-data matches exactly the real-data, the compiler is quite happy to get some idea how the code works.

The tests were run on a Core2Duo 2x2ghz/4mb L2 cache.
Comment 1 Søren Sandmann Pedersen 2011-05-09 01:56:35 UTC
I don't think it is useful to keep this bug open when there is no indication that anyone is ever going to work on it.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.