diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-06-25 19:45:21 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-06-29 08:11:49 +0000 |
commit | 07bf66a03e775aeb9f46f46204e6633398b650a5 (patch) | |
tree | e50b4cc6152363ecef507c4fd22a2641100c6f2d /src/lib/corelib/tools/qttools.cpp | |
parent | fac2f0af3d8a051bba02fe448e984a3c0e66739f (diff) | |
download | qbs-07bf66a03e775aeb9f46f46204e6633398b650a5.tar.gz |
Persistence: Cache more data structures
Use the id-based approach also for QStringList and QProcessEnvironment,
in addition to QString. We can expect a lot of identical values for
these types.
========== Performance data for Rule Execution ==========
Old instruction count: 2700402363
New instruction count: 2693099541
Relative change: -1 %
Old peak memory usage: 20689488 Bytes
New peak memory usage: 20258088 Bytes
Relative change: -3 %
========== Performance data for Null Build ==========
Old instruction count: 552917395
New instruction count: 526394115
Relative change: -5 %
Old peak memory usage: 15552336 Bytes
New peak memory usage: 14840848 Bytes
Relative change: -5 %
Change-Id: I9cdf7910240dbbadda7b383ded1c6788ac66d232
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/tools/qttools.cpp')
-rw-r--r-- | src/lib/corelib/tools/qttools.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/corelib/tools/qttools.cpp b/src/lib/corelib/tools/qttools.cpp index 4e20a7f45..ffd336d56 100644 --- a/src/lib/corelib/tools/qttools.cpp +++ b/src/lib/corelib/tools/qttools.cpp @@ -39,7 +39,10 @@ #include "qttools.h" +#include <QtCore/qprocess.h> + QT_BEGIN_NAMESPACE + uint qHash(const QStringList &list) { uint s = 0; @@ -47,4 +50,10 @@ uint qHash(const QStringList &list) s ^= qHash(n) + 0x9e3779b9 + (s << 6) + (s >> 2); return s; } + +uint qHash(const QProcessEnvironment &env) +{ + return qHash(env.toStringList()); +} + QT_END_NAMESPACE |