aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-08-04 17:30:43 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2014-08-04 18:02:15 +0200
commitb3e24353733f613df3465f20c520d5b055c4483c (patch)
tree5c100dc9b9580c9be166194fe70d3efaff56bb88 /src/lib/corelib/buildgraph
parent1b3713039c04b3aaa5e2071d38f0b2da96555775 (diff)
Be smarter about storing property maps.
The current code just dumps such maps into the file via the ">>" operator, so no strings are shared. This patch fixes that. Example results for building Qt Creator: Size of build graph on disk: ~65 MB -> ~34 MB. Size of build graph in memory: ~250MB -> ~150 MB. Change-Id: Ic89d0f6c37ba1cd7b3aa8a35517bb6a6a37061c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/corelib/buildgraph')
-rw-r--r--src/lib/corelib/buildgraph/command.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/corelib/buildgraph/command.cpp b/src/lib/corelib/buildgraph/command.cpp
index fa7e4cbee..4019bb38e 100644
--- a/src/lib/corelib/buildgraph/command.cpp
+++ b/src/lib/corelib/buildgraph/command.cpp
@@ -283,14 +283,14 @@ void JavaScriptCommand::load(PersistentPool &pool)
{
AbstractCommand::load(pool);
m_sourceCode = pool.idLoadString();
- pool.stream() >> m_properties;
+ m_properties = pool.loadVariantMap();
}
void JavaScriptCommand::store(PersistentPool &pool) const
{
AbstractCommand::store(pool);
pool.storeString(m_sourceCode);
- pool.stream() << m_properties;
+ pool.store(m_properties);
}
QList<AbstractCommandPtr> loadCommandList(PersistentPool &pool)