qt5base-lts/src/dbus
Marc Mutz f29566c5a4 Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui)
Create macros that wrap the magic developed in
7d63efc16f and apply it to all
Q_DECLARE_METATYPE invocations that show up in Clang -ftime-trace for
a PCH'ed QtGui build.

Effects on compile times:

Clang 10 -ftme-trace:

  $ ClangBuildAnalyzer --analyze qtgui-before.trace  | head -n6
  Analyzing build trace from 'qtgui-before.trace'...
  **** Time summary:
  Compilation (523 times):
    Parsing (frontend):          628.3 s
    Codegen & opts (backend):    304.5 s

  $ ClangBuildAnalyzer --analyze qtgui-after.trace  | head -n6
  Analyzing build trace from 'qtgui-after.trace'...
  **** Time summary:
  Compilation (523 times):
    Parsing (frontend):          546.0 s
    Codegen & opts (backend):    304.4 s

GCC 11 time (bash builtin):

before:

  $ time for ((i=0; i < 3; ++i)) do touch src/gui/painting/qpolygon.h ; ninja libQt6Gui.so; done

  real    4m13,539s
  user    49m24,416s
  sys     3m18,177s

after:

  $ time for ((i=0; i < 3; ++i)) do touch src/gui/painting/qpolygon.h ; ninja libQt6Gui.so; done

  real    3m55,697s
  user    45m19,941s
  sys     3m7,370s

Task-number: QTBUG-97601
Pick-to: 6.3
Change-Id: Ia8e37a58937568a7ed21cfeb4b27274deca4d53b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-01-21 11:22:35 +00:00
..
doc Doc: Use find_package(Qt6 REQUIRED COMPONENTS ...) idiom 2021-12-09 22:20:04 +01:00
CMakeLists.txt Migrate to autogenerated cpp exports 2021-06-25 19:33:12 +02:00
dbus_minimal_p.h DBus: verify up to date with dbus-1.12.12 2019-02-21 13:25:58 +00:00
LIBDBUS-1-LICENSE.txt Document libdbus-1 code in Qt D-Bus 2018-04-20 06:45:12 +00:00
qdbus_symbols_p.h Fix passing QDBusUnixFileDescriptors over peer-to-peer connections 2020-07-13 20:45:20 +02:00
qdbus_symbols.cpp Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
qdbusabstractadaptor_p.h Use QList instead of QVector in dbus 2020-06-25 22:31:13 +02:00
qdbusabstractadaptor.cpp dbus: Fix typos 2021-10-14 20:22:21 +02:00
qdbusabstractadaptor.h Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00
qdbusabstractinterface_p.h Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00
qdbusabstractinterface.cpp Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusabstractinterface.h Remove some dead code 2020-09-12 23:36:50 +02:00
qdbusargument_p.h QDBusMarshaller: fix -Wformat-overflow 2021-07-08 01:49:26 +02:00
qdbusargument.cpp dbus: Fix typos 2021-10-14 20:22:21 +02:00
qdbusargument.h Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusconnection_p.h Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusconnection.cpp DBus: do not mix QList iterators and raw pointers 2021-09-20 19:21:53 +02:00
qdbusconnection.h Switch Q_DECL_DEPRECATED to use C++14 [[deprecated]] 2020-10-03 00:12:05 +02:00
qdbusconnectioninterface.cpp QDBusConnectionInterface: Add activatableServiceNames 2019-07-07 12:16:11 +02:00
qdbusconnectioninterface.h QDBusConnectionInterface: Add activatableServiceNames 2019-07-07 12:16:11 +02:00
qdbusconnectionmanager_p.h MetaObject: Store the QMetaType of the methods 2020-06-02 22:42:15 +02:00
qdbuscontext_p.h Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00
qdbuscontext.cpp Tidy nullptr usage 2019-12-06 12:13:20 +01:00
qdbuscontext.h Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00
qdbusdemarshaller.cpp Deprecate QScopedPointer::take() 2020-11-20 14:28:31 +01:00
qdbuserror.cpp Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbuserror.h Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusextratypes.cpp Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusextratypes.h Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusintegrator_p.h Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusintegrator.cpp DBus: do not mix QList iterators and raw pointers 2021-09-20 19:21:53 +02:00
qdbusinterface_p.h Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00
qdbusinterface.cpp Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusinterface.h Replace Q_NULLPTR with nullptr where possible 2017-09-19 11:53:55 +00:00
qdbusinternalfilters.cpp Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusintrospection_p.h Use QList instead of QVector in dbus 2020-06-25 22:31:13 +02:00
qdbusintrospection.cpp Replace 'an unique' with 'a unique' 2017-10-11 18:44:57 +00:00
qdbusmarshaller.cpp QDBusMarshaller: fix -Wformat-overflow 2021-07-08 01:49:26 +02:00
qdbusmessage_p.h Support interactive authorization flag in DBusMessage 2018-07-10 19:46:40 +00:00
qdbusmessage.cpp Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusmessage.h Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusmetaobject_p.h MetaObject: store the QMetaType of the properties 2020-02-25 15:43:15 +01:00
qdbusmetaobject.cpp qdbus: add support for "aay" (QByteArrayList) 2021-05-02 22:00:43 +02:00
qdbusmetatype_p.h Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusmetatype.cpp qdbuscpp2xml: add support for custom types with a new -t option 2021-08-25 01:03:54 +02:00
qdbusmetatype.h qdbuscpp2xml: add support for custom types with a new -t option 2021-08-25 01:03:54 +02:00
qdbusmisc.cpp Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbuspendingcall_p.h Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbuspendingcall.cpp Fix qdoc warnings in QtDBus 2020-10-21 07:31:26 +02:00
qdbuspendingcall.h Remove remaining Q_DECL_NOEXCEPT/Q_DECL_NOTHROW usage 2019-04-04 18:01:38 +00:00
qdbuspendingreply.cpp Fix qdoc warnings in QtDBus 2020-10-21 07:31:26 +02:00
qdbuspendingreply.h Fix qdoc warnings in QtDBus 2020-10-21 07:31:26 +02:00
qdbusreply.cpp Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusreply.h Remove QVariant(int type, void *data, ...) constructor 2020-08-15 10:56:29 +02:00
qdbusserver.cpp Merge remote-tracking branch 'origin/5.13' into 5.14 2019-09-04 07:03:54 +02:00
qdbusserver.h Replace Q_NULLPTR with nullptr where possible 2017-09-19 11:53:55 +00:00
qdbusservicewatcher.cpp Port QDBusServiceWatcher::watchedServices to bindable properties 2021-04-28 16:59:53 +02:00
qdbusservicewatcher.h Port QDBusServiceWatcher::watchedServices to bindable properties 2021-04-28 16:59:53 +02:00
qdbusthreaddebug_p.h Remove obsolete DBus dispatch lock 2017-11-08 05:38:39 +00:00
qdbusunixfiledescriptor.cpp Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusunixfiledescriptor.h Prevent repeated instantiations of some qRegisterNormalizedMetaType<>s [1/N] (QtGui) 2022-01-21 11:22:35 +00:00
qdbusutil_p.h Port dbus from QStringRef to QStringView 2020-06-15 10:44:10 +02:00
qdbusutil.cpp Use QMetaType instead of integer based type ids 2020-09-23 19:30:28 +02:00
qdbusvirtualobject.cpp Updated license headers 2016-01-15 12:25:24 +00:00
qdbusvirtualobject.h Replace Q_NULLPTR with nullptr where possible 2017-09-19 11:53:55 +00:00
qdbusxmlgenerator.cpp QDBus: fix ExportScriptableInvokables to allow calling scriptable invokables 2021-08-23 23:07:30 +02:00
qdbusxmlparser_p.h qdbusxmlparser: Enabled error output 2016-09-27 15:48:45 +00:00
qdbusxmlparser.cpp Silence bogus whitespace "errors" from the DBus XML parser 2017-01-02 07:56:29 +00:00
Qt6DBusMacros.cmake Handle empty string args for versionless wrappers of dbus CMake commands 2021-09-20 14:23:14 +10:00
qt_attribution.json Record that we're still up to date with latest dbus 2020-03-16 08:52:10 +01:00
qtdbusglobal_p.h Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00
qtdbusglobal.h Migrate to autogenerated cpp exports 2021-06-25 19:33:12 +02:00