<table><tr><td style="">kfunk added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D6682" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>Yes re. the switch from <tt style="background: #ebebeb; font-size: 13px;">KDevelop::SymbolTable</tt> to <tt style="background: #ebebeb; font-size: 13px;">KDevelop::PersistentSymbolTable</tt>:</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">commit a40d774da71d763cc37cf695c0742a3c746364c9
Author: David Nolden <david.nolden.kde@art-master.de>
Date: Wed Sep 3 20:29:05 2008 +0000
Completely remove the runtime symbol-table hash, in favor of the persistent on-disk symbol table.
This will allow not creating the actual Declaration and DUContext objects while loading, but just creating them on-demand, thus greatly speed up the loading of top-contexts.
But already now it speeds up loading/unloading, because the symbol-table doesn't need to be updated.
The downside is that the persistent symbol table contains ALL declarations, and thus more declarations need to be checked while searching.
- Try stopping the too fast growth of the persistent symbol table
- Add a persistent context table, and rename the previous symbol table to declaration table.
- Port all the uses of SymbolTable to use PersistentSymbolTable.</pre></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R33 KDevPlatform</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D6682" rel="noreferrer">https://phabricator.kde.org/D6682</a></div></div><br /><div><strong>To: </strong>kossebau, KDevelop<br /><strong>Cc: </strong>kfunk, kdevelop-devel<br /></div>