[Qt-creator] QtCreator 4.3 Beta and CMake 3.7.x Server Mode Slowness

Mike Jackson imikejackson at gmail.com
Thu Mar 23 20:13:27 CET 2017


Tobias Hunger wrote:
> Hi Mike,
>
> you are not the first to report this:-/ This needs to be fixed before
> the release.
>
> On Thu, Mar 23, 2017 at 6:40 PM, Mike Jackson<imikejackson at gmail.com>  wrote:
>> I have been testing the nightly builds of 4.3 and the main issue that I am
>> running into for our project is that most everything is very slow. From
>> loading the CMake based project, to "command-K" to code-completion. The
>> slowness is somehow attributed to using CMake 3.7.x and its server mode. If
>> I load my project using CMake 3.6 then the everything returns be being fast
>> again.
>
> That is interesting: The only difference between server mode and
> tealeaf reading mode is in getting data from cmake and parsing that
> data. After the project data is read, everything is using exactly the
> same code.
>
> The project tree is a bit different, but that should not be noticeable.

One thing that I notice is that with Server-mode the code completion 
engine can not find things like #include <QtWidgets/QDialog> which 
basically messes up the code completion on the file.This does not 
preclude the fact that our CMake may be non-optimal and missing some 
include_directories() and we just have never noticed it before on Visual 
Studio, Ninja, NMake, Makefiles and Xcode, but none of those use 
Server-Mode so we may be in new territory.

>
>> My point is NOT to complain since I understand these features are
>> experimental and still being developed. If by the the final release the
>> slowness is still there, is there going to be a way to turn OFF the CMake
>> server mode link if I am using CMake 3.7?
>
> None is planed.

I know it is late, but I would _really_ want to discuss that. Again, if 
there is time or it would be simple to implement, like a check box in 
the CMake configuration widget.

>
>> We are starting to depend on a few
>> of the CMake 3.7 features but then that causes QtCreator to just drag down
>> in speed to the point where it becomes somewhat unusable.
>
> I never had that happen to me before. Is one of the projects you work
> with open source so that I can test with that?

All of our projects are open-source. 
http://www.github.com/bluequartzsoftware/dream3d. There are other repos 
that will need to be pulled. I there are some really rough docs that 
point you to them. We have a bunch of dependent libraries. If you clone 
https://github.com/BlueQuartzSoftware/DREAM3DSuperbuild that should help 
build up an SDK for DREAM.3D to use. I have not tested it too much on 
newer Linux distributions so not sure how well it would behave. You 
could probably get DREAM.3D to compile without the DREAM3DSuperbuild by 
just pointing CMake to all the various locations on your Linux machine.

Just some stats on the project with a full compile of all our Plugins 
there is something like 2400 compilable files. We do depend on things 
like Boost and Eigen which are heavily templated which might be the cause.

I would also be ok setting up a Google Hangout and screen sharing my 
machine so you can see what is going on.

>
> Could you try with clean settings (just run with -settingspath
> /tmp/foo)? Does it get faster if you disable non-essential plugins?
>
> Did you notice that slowdown before? You said you started to depend on
> some of those features, so I guess you did run server-mode before:-)

I jumped on the Qt4.3 bandwagon with CMake 3.7 pretty quickly to test it 
out. If I remember correctly back in January time frame the speed wasn't 
noticeably slower. I would have to go pull those versions and start 
testing to figure out when it really went slow.

I restarted with the -settingspath /tmp/foo and the code completion 
seems to subjectively be faster. THe command-K is definitely faster. 
Project loading is still slow, to the point where I get the spinning 
beach ball for about 1 minute. This is on a 12 Core (24 Threads) Mac Pro 
running macOS 10.10.5 off an SATA SSD (850 EVO).

>
>> Thanks and keep up the great work with the CMake integration. It has come so
>> far and I really enjoy working with QtCreator.
>
> You are welcome.
>
> Best Regards,
> Tobias

Thanks
Mike Jackson




More information about the Qt-creator mailing list