On 24.11.19 12:24, Giuseppe D'Angelo via Development wrote:
Il 21/11/19 17:38, Joerg Bornemann ha scritto:
It works and produces seemingly the correct output, able to consume
modern C++ constructs.
But it's sloooooow. Running on Qt Creator takes 1 min with the old
parser, and 50 min with the new one.

Related question: does also a clang-based moc suffer from this extreme slowness?

Yes. (Although not as bad as that because there is still room for improvement in lupdate, also lupdate needs to parse function bodies and moc does not)

I've tried it on my machine, extracting the moc command line from a build of one project i'm working on, from a random moc file:

moc from Qt 5.13.2
0.16s user 0.05s system 99% cpu 0.212 total

moc-ng from https://github.com/woboq/moc-ng
1.48s user 0.06s system 98% cpu 1.575 total

This is not using pre-compiled header, so there might be some room for improvements. (but even then i wouldn't assume we can use precompiled header for all builds)

Note for comparison, the build of the .cpp file that include the .moc with gcc9
3.84s user 0.24s system 99% cpu 4.098 total

So moc stays much faster than actually compiling, but it has been reported that moc does not play nice with ccache or distributed compile farm.

--
Olivier
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to