CodeModel Assertion after about 5500 declarations in one file
David Nolden
zwabel at googlemail.com
Sat Sep 20 15:09:33 UTC 2008
Yes, the reason is probably this:
The item-repositories have a bucket-size limit of about 64 kb. Everything put
into the repositories must fit into a bucket. However one item for a file
with 5000 Declarations would have the size 5000 * 12 = 66000, so this is for
sure the reason.
This could with some work be worked around in the item-reposotory, by creating
special bigger buckets for items that are larger then bucket-size, but that
wouldn't change much about the bad performance while inserting/removing
items. So I recommend just splitting that file up into multiple.
Btw. this limit shouldn't be a problem for most languages, since the
code-model only contains declarations that are put into the symbol-table, and
I don't think I've ever seen a file with more then 5000
function-declarations. :-)
Greetings, David
More information about the KDevelop-devel
mailing list