Re: [Interest] Qt 6 is much more faster to compile from source

2021-09-09 Thread Nuno Santos
Thiago,

My feedback was completely based on feeling (not actual metrics) and yesterday 
I have realised by feeling was driven by a release only build.

When build for release and debug, the build time is incredibly longer. 

After looking at your metrics it does seem that build Qt was even quicker 
before. 

I feel bit stupid now! :D

Best,

Nuno

> On 7 Sep 2021, at 18:50, Thiago Macieira  wrote:
> 
> On Tuesday, 7 September 2021 02:52:49 PDT Tor Arne Vestbø wrote:
>> Good to hear!
>> 
>> Part of it comes from CMake generating ninja files instead of Makefiles.
> 
> Our qmake-generated Makefiles weren't that slow. Nothing compared to 
> Automake, 
> at least.
> 
> Qt 5 qtbase/src build:
> Build succeeded, took 3:01.027s (total run time 3:01.027s), 2388.2% CPU usage
> 
> Qt 6 equivalent with Ninja:
> Build succeeded, took 222.01s (2385% CPU usage)
> 
> 3:01.027 = 181.027s (sorry, different wrapper, so they print time differently)
> 
> Same compiler, same otherwise-idle machine, icecc disabled. The configuration 
> on both builds is meant to be the same, full build.
> 
> -- 
> Thiago Macieira - thiago.macieira (AT) intel.com
>  Software Architect - Intel DPG Cloud Engineering
> 
> 
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt 6 is much more faster to compile from source

2021-09-07 Thread Thiago Macieira
On Tuesday, 7 September 2021 10:57:38 PDT Konstantin Tokarev wrote:
> If generated makefiles were non-recursive, it would be even faster.

Right. There are a couple of points during the build that the processor is 
idle waiting for something to finish building before the next thing can start. 
There's a critical path dependency chain going through the bootstrap library, 
moc, then QtCore that affects both buildsystems. There's no workaround for 
that.

qtbase/src's qmake file was hand-rolled to make sure that we did have the 
minimum number of dependencies in the critical path. That extends to bundled, 
third-party sources if you need them. All of that had to be manually-
maintained (see [1]). With CMake, we got that for free, since it resolves the 
dependencies on its own.

[1] https://code.qt.io/cgit/qt/qtbase.git/log/src/src.pro?h=5.15

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering



___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt 6 is much more faster to compile from source

2021-09-07 Thread Konstantin Tokarev


07.09.2021, 20:53, "Thiago Macieira" :
> On Tuesday, 7 September 2021 02:52:49 PDT Tor Arne Vestbø wrote:
>>  Good to hear!
>>
>>  Part of it comes from CMake generating ninja files instead of Makefiles.
>
> Our qmake-generated Makefiles weren't that slow. Nothing compared to Automake,
> at least.
>
> Qt 5 qtbase/src build:
> Build succeeded, took 3:01.027s (total run time 3:01.027s), 2388.2% CPU usage
>
> Qt 6 equivalent with Ninja:
> Build succeeded, took 222.01s (2385% CPU usage)
>
> 3:01.027 = 181.027s (sorry, different wrapper, so they print time differently)
>
> Same compiler, same otherwise-idle machine, icecc disabled. The configuration
> on both builds is meant to be the same, full build.

If generated makefiles were non-recursive, it would be even faster.

Ninja rocks for incremental build times and has some convenience features for
generators, but it's not a magic pill.


-- 
Regards,
Konstantin
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt 6 is much more faster to compile from source

2021-09-07 Thread Thiago Macieira
On Tuesday, 7 September 2021 02:52:49 PDT Tor Arne Vestbø wrote:
> Good to hear!
> 
> Part of it comes from CMake generating ninja files instead of Makefiles.

Our qmake-generated Makefiles weren't that slow. Nothing compared to Automake, 
at least.

Qt 5 qtbase/src build:
Build succeeded, took 3:01.027s (total run time 3:01.027s), 2388.2% CPU usage

Qt 6 equivalent with Ninja:
Build succeeded, took 222.01s (2385% CPU usage)

3:01.027 = 181.027s (sorry, different wrapper, so they print time differently)

Same compiler, same otherwise-idle machine, icecc disabled. The configuration 
on both builds is meant to be the same, full build.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering



___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt 6 is much more faster to compile from source

2021-09-07 Thread Tor Arne Vestbø
Good to hear!

Part of it comes from CMake generating ninja files instead of Makefiles.

Cheers,
Tor Arne

On 7 Sep 2021, at 11:26, Nuno Santos 
mailto:nuno.san...@imaginando.pt>> wrote:

Hey,

Just want to share this random piece of feedback.

I have found a brutal difference between compiling Qt 5 and Qt 6 from source. 
Qt 6 compiles extremely fast.

Are this the benefits of using cmake to build it?

Big props to Qt team!

Best,

Nuno
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


[Interest] Qt 6 is much more faster to compile from source

2021-09-07 Thread Nuno Santos
Hey,

Just want to share this random piece of feedback.

I have found a brutal difference between compiling Qt 5 and Qt 6 from source. 
Qt 6 compiles extremely fast.

Are this the benefits of using cmake to build it? 

Big props to Qt team!

Best,

Nuno
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest