diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-08-04 17:30:43 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-08-04 18:02:15 +0200 |
commit | b3e24353733f613df3465f20c520d5b055c4483c (patch) | |
tree | 5c100dc9b9580c9be166194fe70d3efaff56bb88 /src/lib/corelib/buildgraph | |
parent | 1b3713039c04b3aaa5e2071d38f0b2da96555775 (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.cpp | 4 |
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) |