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

Tobias Hunger tobias.hunger at gmail.com
Fri Mar 24 11:05:00 CET 2017


Hi Mike,

On Thu, Mar 23, 2017 at 8:13 PM, Mike Jackson <imikejackson at gmail.com> wrote:
> 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.

Well, server-mode does get way better information out of cmake, so
that is kind of expected:-)

What does the code model say (Tools>C++>Inspect C++ code model)? Does
it list the expected include directories?

>>> 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.

I want to get rid of the tealeaf mode as soon as possible. The name is
fitting: What Creator is doing without server-mode is reading in tea
leaves, mostly tea leaves that are documented to change meaning at any
time!

Perpetuating tealeaf mode by having users enable it for newer cmakes
is definitely not in my interest!

> 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.

I'm currently trying to set up DREAM.3D for testing:-)

So far I found two smaller issues with creator's cmake support due to
it -- and I did not even manage to make it build yet:-) What a
wonderful test project!

> 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.

Thanks, for the offer. I might take you up on it if I can not
reproduce the issue locally.

> 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).

Well, cmake is heavily single-threaded, so all your cores will not
help with anything cmake-related:-)

Best Regards,
Tobias



More information about the Qt-creator mailing list