no gui feedback during parsing h file , ~30 seconds frozen

Hi i have a longer header file which i used for precompilation.

If i remove or add a h-file - IDE seems stop working.
No reaction for ~30 seconds.
I understand, that parsing h files, building symbol tables, etc...take time.
And if there is no chance to accelerate this task up to 1,2 sec than CLion should show some kind of progress status.
As it happend first time, i did not know what was wrong and i just killed java because i did not know status of program.
Next time i read some news in internet. ....


This is an example which really make problem, if i change things. I normally dont do this because its for precompilation.....



#ifndef _gpre_h_precompilat_
#define _gpre_h_precompilat_


#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <error.h>
#include <unistd.h>
#include <stdint.h>
#include <string.h>
#include <math.h>
#include <limits.h>
#include <stdarg.h>

#include <string>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cassert>

#include <vector>
#include <map>
#include <stack>

#include <chrono>
#include <ctime>


#include <thread>
#include <condition_variable>
#include <mutex>

#include "geTypes.h"
#include "ioTools.h"
#include "toString.h"
#include "tokenizer.h"
#include "pp.h"
#include "tools.h"

#include "CommandLine.h"
#include "rbt/MemPool.h"
#include "mersenneTwister.h"
#include "md5.h"



#endif
3 comments
Avatar
Alexander Kirillin
Comment actions Permalink

Olaf, how do you add the file? Do you modify CMakeLists.txt file and then re-load the project? We would appreciate a screencast of what you are doing.

0
Comment actions Permalink

Hi Alexander,

i added no file in CMakeLists.txt. CMakeLists.txt has all contents.
I modified the h-file  "gpre.h"

#ifndef _gpre_h_precompilat_
#define _gpre_h_precompilat_


#include <stdio.h>
#include <stdlib.h>
...


adding new #includes lines or removing #includes.
after this, the lion sleeps.

(I know that i is a good idea to reload cmake project if i add new files to project. But this is not the point)

For me it seems that lion whatches every modification i make in this h file and reads all stuff again.
If i remove

#include <stdio.h>

within "gpre.h" the lion blocks my work for 30 sec.
In bigger h-files, which #include's a lot of other h-files....this behaviour should be better.

One suggestion from my side:
Add a toggle button, or menu item: Lion-parser-active Lion-parser-non-active.
If i disable parser for a while i can add a lot of "stupid" stuff which will not corner the lion .
And if work is done i can enable again.

Parsing and behaviour in general:
I think the jetbrains make a good job. But on the fly C/C++ parser which will not block user input/work .... is very hard to do.
Give user interface an active/non-active button and most people will understand this.
And if parsing take some seconds there must be something like progress or minimum "intermediate progress".

Some optional manual help for the lion is much better as parsing without feedback and blocking input.
...as long lion is beta and you give the right hints about "helper-methods", every serious developer will understand this.

Greetings Olaf

0
Avatar
Alexander Kirillin
Comment actions Permalink

That's strange, CLion should switch to "dumb mode" and update the indices in this case. We will investigate.

0

Please sign in to leave a comment.