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