aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/artifact.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-11-01 10:00:31 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2016-11-10 09:30:19 +0000
commita96116df6e01e131867f406695300959c9872527 (patch)
tree86997be854fff5f078f1d4f5cb82ae7b53e074bd /src/lib/corelib/buildgraph/artifact.cpp
parent03a0a3d9fe95aec346b0934ec685e97fb4827c31 (diff)
Use string sharing when serializing file tags
On my machine, the on-disk build graph of a freshly resolved Qt Creator super project goes down by 12% with this patch. Change-Id: Ic86b4ba31769d7d4af407b24a0ee9845cf943a79 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/artifact.cpp')
-rw-r--r--src/lib/corelib/buildgraph/artifact.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/corelib/buildgraph/artifact.cpp b/src/lib/corelib/buildgraph/artifact.cpp
index 04a8c97c8..a00d7b623 100644
--- a/src/lib/corelib/buildgraph/artifact.cpp
+++ b/src/lib/corelib/buildgraph/artifact.cpp
@@ -158,9 +158,9 @@ void Artifact::load(PersistentPool &pool)
pool.loadContainer(fileDependencies);
properties = pool.idLoadS<PropertyMapInternal>();
transformer = pool.idLoadS<Transformer>();
+ m_fileTags.load(pool);
unsigned char c;
pool.stream()
- >> m_fileTags
>> artifactType
>> c;
alwaysUpdated = c;
@@ -178,8 +178,8 @@ void Artifact::store(PersistentPool &pool) const
pool.storeContainer(fileDependencies);
pool.store(properties);
pool.store(transformer);
+ m_fileTags.store(pool);
pool.stream()
- << m_fileTags
<< artifactType
<< static_cast<unsigned char>(alwaysUpdated)
<< static_cast<unsigned char>(oldDataPossiblyPresent);