[Mesa-dev] Mesa built code size reduction

Eric Anholt eric at anholt.net
Fri Sep 20 18:52:18 PDT 2013


Since I'm going to be talking about the megadrivers idea next week at
XDC, I thought I'd look at what the impact would be of an alternate
option, and to do that I wanted to first fix up any stupid wastes of
disk space I found.  I found more than I expected.

The last commit is an important one.  I think it accounts for most of
the performance change of the series (and the performance loss that we
got from dricore).  I'm planning on comparing this series to
non-dricore and to megadrivers for the talk.

Size of mesa before:
   text	   data	    bss	    dec	    hex	filename
 872896	  19912	   3392	 896200	  dacc8	lib/i965_dri.so
3387494	 112060	  95592	3595146	 36db8a	lib/libdricore9.3.0-devel.so.1

After:
 872850	  19912	   3392	 896154	  dac9a	lib/i965_dri.so
3184667	  88524	  95592	3368783	 33674f	lib/libdricore9.3.0-devel.so.1

(a little over 6% reduction)

Results of testing of CPU overhead in mesa (cairo-gl with
INTEL_NO_HW=1.  Also had a patch for reducing _mesa_DummyProgram size
that I found was broken after I piglited):

x before
+ after
+------------------------------------------------------------------------------+
|  +   x                                                                       |
|  +   x                                                                       |
|  +   x                                                                       |
|  +   xx                                                                      |
| ++ + xx                                                                      |
| ++ + xx                                                                      |
| ++++xxxx                                                                     |
| ++++xxxxx                         +                                          |
| ++++xxxxx     x+ x  +             +                              +       x   |
| ++++xxxxx++* +x++x+++             +     x                      + +       x   |
| ++++*xxxx+** +x++x+++       +     *    +x   +                  + +      xx x |
| ++++**xxx+**+*x++x+**   x  ++x+ * * x+ +x   ++x  +     x+ xx+  + ++* xx xx x |
|+++++***xx+**+*x*+x***x  xxx**x*+*+*x**x*x+* ++xxx+ x** x* xx++++++***xx xxxxx|
|+++++********+*x*******  **x****+***x**x****+******x*** **xx****+++***xxxxxxxx|
|     |__|____________M_____AM___A________________|_______|                    |
+------------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x 200     29.417143     47.735255      35.27498     36.471098     6.0928765
+ 200     28.254668     45.819881     33.445248     35.119495     5.5758312
Difference at 95.0% confidence
	-1.3516 +/- 1.14466
	-3.70596% +/- 3.13853%
	(Student's t, pooled s = 5.84008)



More information about the mesa-dev mailing list