summaryrefslogtreecommitdiffstats
path: root/src/tools/uic/cpp/cppwriteinitialization.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2024-05-03 11:24:09 +0200
committerMarc Mutz <marc.mutz@qt.io>2024-05-15 18:22:39 +0200
commitd31054c31456bc840061089e37e956ad815215c6 (patch)
tree2748018cd7fa0512a7028bbfeb18622954556d0b /src/tools/uic/cpp/cppwriteinitialization.cpp
parentbf96c45f94d840f15c71e0630f9f9c3f8ef8bc6a (diff)
QMetaType: make sequence, pair adapters SCARY
Extract (non-template) Methods from template functions and pull them behind the ABI boundary to avoid re-compiling the same code multiple times ("SCARY"). In this particular case, the extracted code contains QMetaType::fromType() calls, which, taken together, were responsible for at least 91s of the ~8250s total time for a qt5.git-wide headersclean_check (1.1%): Says Clang -ftime-trace: $ grep fromType hc*.txt hc-00-baseline.txt: 32122 ms: QMetaType::fromType<QIterable<QMetaAssociation>> (1240 times, avg 25 ms) hc-00-baseline.txt: 31717 ms: QMetaType::fromType<QIterable<QMetaSequence>> (1240 times, avg 25 ms) hc-00-baseline.txt: 23531 ms: QMetaType::fromType<QtMetaTypePrivate::QPairVariantInterfaceImpl> (1240 times, avg 18 ms) hc-00-baseline.txt: 91143 ms: QMetaType::fromType<$> (6440 times, avg 14 ms) # QIterable<QMetaSequence> out-of-lined: hc-01-meta-seq.txt: 29869 ms: QMetaType::fromType<QIterable<QMetaAssociation>> (1240 times, avg 24 ms) hc-01-meta-seq.txt: 21618 ms: QMetaType::fromType<QtMetaTypePrivate::QPairVariantInterfaceImpl> (1240 times, avg 17 ms) hc-01-meta-seq.txt: 55029 ms: QMetaType::fromType<$> (5025 times, avg 10 ms) # QIterable<QMetaAssociation> out-of-lined: hc-02-meta-ass.txt: 21689 ms: QMetaType::fromType<QtMetaTypePrivate::QPairVariantInterfaceImpl> (1240 times, avg 17 ms) hc-02-meta-ass.txt: 25224 ms: QMetaType::fromType<$> (3799 times, avg 6 ms) # QPairVariantInterfaceImpl out-of-lined: <crickets> Amends 01fb843af88d949cd38b494a60bb64b730a045d2 (sequences), 87e27eb870d08ee8953cc9b350ed29c5b3e4f785 (associations), b88b09fb16754c5057b781d1b625855f75b22aee (pairs). Task-number: QTBUG-97601 Change-Id: If34cf94703a203bc231f1bac656d2f5278bbd8f8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/tools/uic/cpp/cppwriteinitialization.cpp')
0 files changed, 0 insertions, 0 deletions