On 31/05/16 10:42, Eero Tamminen wrote:
Hi,

On 30.05.2016 20:57, Rob Clark wrote:
On Mon, May 30, 2016 at 1:39 PM, Matt Turner <matts...@gmail.com> wrote:
On Mon, May 30, 2016 at 10:28 AM, ⚛ <0xe2.0x9a.0...@gmail.com> wrote:
This patch enables compilation with -flto.

The performance benefits of LTO (GCC 4.9 & 6.1) are about 1% for glxgears.
Performance changes in OpenGL games haven't been measured yet, my feeling is
that they are negligible.
Without a compelling reason, I don't think the build system should be
adding compiler flags like this.

-flto makes debugging impossible, at least the last time I tried it
with gcc. I don't think that's something we would want enabled
whenever it's supported.
It would be interesting to know what gains it brings in scenarios less
synthetic than glxgears..  my suspicion is that we have been doing
manual lto forever (ie. use of static-inline fxn's where it matters).
If it turns out to be a significant gain, I wouldn't be against it.
Although perhaps only for non-debug builds..
Martin did some testing with LTO last year for a real customer 3D
benchmark that was partly CPU bound.  In that case there were actually
several percent performance improvements.

Definitely was the case on some machines. However, I used GCC 5.X to get it to work reliably and one GCC 5 release was clearly improving the performance.

I stopped making LTO builds because it took too long to compile when bisecting performance issues. I should try again now that gcc has "link-time parallelization (enabled using -flto=n)". If it scales with the number of threads, then linking mesa will not take 3 minutes anymore but ~45seconds or a normal quad core machine.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to