Code::Blocks Forums
User forums => Using Code::Blocks => Topic started by: dje on February 12, 2007, 03:09:54 pm
-
Hi !
I tried to open a trace big file in C::B (=~ 7Mo).
CB consumes all cpu (99% in task manager).
As soon as it is quiet, each new event makes C::B consume 99% cpu again.
Is there a file size limitation ?
It it a bug ?
Dje
-
Just tried with a 13MB text file and C::B loaded it pretty fast. Now if I try a C++ file that big it takes longer..
What version are you using?
BTW did you mean 7MB or 70MB?
-
It's probably CodeCompletion scanning the file.
-
It's probably CodeCompletion scanning the file.
Hmm that could be it. I always turn that off first....
-
BTW did you mean 7MB or 70MB?
It was a 7 MB trace file (ie non C++ file).
I think it can't be code completion because there is no parser for this kind of file.
But even if we admit this is code completion that parses an unknown format :
- why does it monopolize cpu (99%) ?
- why once we recover cpu, the first event (a kind of editor activation I think) makes C::B consume its released 99% ?
What version are you using?
SVN 3592
Dje
-
I think it can't be code completion because there is no parser for this kind of file.
But even if we admit this is code completion that parses an unknown format :
- why does it monopolize cpu (99%) ?
- why once we recover cpu, the first event (a kind of editor activation I think) makes C::B consume its released 99% ?
The code-completion parser may indeed be the cause of the trouble here. Since quite some time now, it's not parsing files based on their extension (file type). It is parsing (or trying to) anything that is thrown at its way. This change was made to be able to parse the C++ headers, which have no extension (e.g. vector, map, iostream, etc).
I see two possible solutions to this:
1) make it an option (aka "the manual way")
2) parse only files (belonging to project) with known extensions (i.e. C/C++ files) but ignore this filter for #included files
I 'll have to think this thing a bit more but I see solution nr.2 is more correct...