Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

High CPU usage



  • Hello Friends And QT Experts

    i was create one qt application And i Used Some image Processing Library in my application and used it's functions

    but when i start to bulid my project then QT is take more then 90% cpu usages
    i don't know how this is possible

    i am upload some snapshots of my windows task manager
    you can see in this snapshots:

    Example 1:
    Capture_1.PNG

    Example 2:
    Capture.PNG

    please help me to solve this problem
    Thanks you so much


  • Lifetime Qt Champion

    Hi
    This is while you are compiling ?
    Mine also uses nearly 100% cpu compiling code so not sure
    why you think its an issue ?
    Or did i miss something ?



  • @mrjj

    yes it is happening when i start compiling

    ofcourse it is very big issue, no any complier or any IDE take more then 90% CPU when code is compiling , even it is also possible to affect CPU and may be possible to system is fail in near future


  • Moderators

    @Ketan__Patel__0011 said in High CPU usage:

    no any complier or any IDE take more then 90% CPU when code is compiling

    That means your other compiler/IDE is not making full use of your CPU.

    Higher CPU usage == Shorter compilation time



  • @JKSH

    sorry i didn't get it

    can you explain in other way


  • Moderators

    @Ketan__Patel__0011 said in High CPU usage:

    @JKSH

    sorry i didn't get it

    can you explain in other way

    I want my compiler to use 100% CPU.

    If my compiler uses 100% CPU, it will finish my project quickly. If my compiler only uses 20% CPU, that means it will take a long time to finish compiling my project.


  • Moderators

    @Ketan__Patel__0011 said in High CPU usage:

    ofcourse it is very big issue, no any complier or any IDE take more then 90% CPU when code is compiling , even it is also possible to affect CPU and may be possible to system is fail in near future

    where does this conclusion come from?



  • @JKSH
    Thanks for your reply

    According To your explanation if compiler uses 100% CPU then my project quickly complied

    but i my case when i start compilation it take 3 to 4 minutes for project compilation
    and it is huge and high time to build any project

    so i can't avoid this problem
    i can give only 1 or 2 minutes for project compilation


  • Moderators

    @Ketan__Patel__0011 said in High CPU usage:

    i can give only 1 or 2 minutes for project compilation

    Why?

    What will happen if it takes 4 minutes instead of 2 minutes?

    when i start compilation it take 3 to 4 minutes for project compilation
    and it is huge and high time to build any project

    Compilation time depends on your PC's specifications and your project's complexity.

    Qt is a huge project. It takes 2 hours to compile Qt on my PC at 100% CPU. This is normal.



  • @JKSH

    Thanks for Reply
    Okay Let me tell you my PC's specifications

    -> intel(R) Core(TM) I3-3220 CPU @ 3.30GHz
    -> Shared GPU Memory
    -> 64 Bit OS Windows 10 Pro
    -> 1TB SSD
    -> 8GM RAM

    this are specifications in my PC have it
    and My Project Complexity is i just used my Image Processing function that's it nothing more

    Or Other things is if My Application is running that time it take high CPU uses than i can control but at compilation time CPU Uses Control is not in my hand.

    and in your case ,2 hours to compile your Project on your PC so i can assume your Project is not any simple Desktop application or not any simple GUI base Application it may Be Very Valuable Project.



  • @raven-worx

    run your applications in your system which are uses more than 70% CPU and also your application run 10 to 20 function working parallelly For continuously 2 or 3 days. that time it may be your system can be failed.

    in any program or application have memory leakage that time programmers can handle it at run time using memory concepts but CPU uses control at runtime it is very difficult and very complex


  • Moderators

    @Ketan__Patel__0011 said in High CPU usage:

    run your applications in your system which are uses more than 70% CPU and also your application run 10 to 20 function working parallelly For continuously 2 or 3 days. that time it may be your system can be failed.

    now you are talking about faulty applications. Before you were talking about running the compiler.
    A faulty application may make your system unstable yes. But thats the fault of a badly programmed application then. Even if the system is out of memory the OS tries to solve it and terminates the application. The application should be fixed then.
    So the conclusion that 100% CPU means unstable system is still wrong. If the application is programmed correctly the machine can run for weeks with 100% CPU load.



  • Perhaps OP is using / is concerned about wrong measuring stick.

    Maybe he should try this approach .
    Compile an application with barely any other software running -
    I did and it took 50 seconds to finish.
    Then I run musical video and after recompile I got 1:20 seconds.
    Both apps are sharing SOME resources and both are performing as expected.

    In other way - 100% CPU usage is not about overloading the CPU.

    100% usage should be viewed as top notch efficiency of the compiler instead.



  • @raven-worx

    again if 100% CPU uses at runtime when i perform any operation that time i can deal with it but at compile time it may be problem comes from the compiler or may be my Qt Version is unstable

    ->My Qt Version Is : 5.12.3



  • @Ketan__Patel__0011
    Your Qt version is probably not relevant. You are reporting the C++ compiler taking a lot of time. And since you say

    i was create one qt application And i Used Some image Processing Library in my application and used it's functions

    I can only guess that your image processing library --- the header files you include from it --- are so "complex" that it just takes the compiler a long time to compile code which includes them.

    Please confirm that if you let it take whatever time it wants your compile/link do complete successfully? In which case I wouldn't worry about it, it is what it is. If on the other hand it fails to come to a successful conclusion, then that would be a different matter....



  • @Ketan__Patel__0011
    When you run the application the complier does nothing. It have finished the work and it have generated an executable file.
    Are you sure that the application is not doing anything?
    Could you try to comment the processing library include files and run the application again?



  • @JonB

    Thanks for you reply

    i am used Same Library in Microsoft visual studio 2015 and i create new project in Microsoft visual studio 2015 and i didn't get Any Issus my project Compile Successfully
    and when i start compiling my visual studio c++ project that time my System used less than 20% Of CPU.

    and i think in Qt MSVC 2015 Kit and Microsoft Visual Studio 2015 are used Same Compiler for C++



  • @ollarch

    Thanks for your Reply

    I am faced this problem Many Time ,but i didn't get any solution
    if i used any library or not



  • @Ketan__Patel__0011
    You are mixing compilation times and execution times. Where is your problem? When compiling or when running? And wich is the problem? High CPU usage? When comiling as more CPU used less time to compile and when running it will depend on what is your application doing.
    About faulty applications... If it faults it has a bug so you have to find it and remove it.



  • @ollarch
    I believe @Ketan__Patel__0011 has consistently only reported compilation/link timings, I don't see where you see he might be reporting runtime execution time?

    If he says that outside of Qt Creator it compiles with 20% CPU while inside it is 90% that does sound a touch strange.... It looks like it is the Microsoft Compiler Driver which is taking the time....



  • @ollarch

    No i am not talking about execution time

    Capture_2.PNG

    My Problem is High CPU Uses When I start to Build My Project

    And Tell me one think you never faced this problem ?



  • @JonB
    Maybe QtCreator is uning multiprocessor compiling while Visual Studio is not. The Intel i3-3220 has 4 core threads, so 20~25 CPU usage during compilation sounds like only one core is used.
    On Visual Studio check the "C/C++" options , section "All options" parameter "Additional options", and set "/MP4" to it. It will use 4 cores on compilation.



  • @ollarch

    Thanks for your reply and your suggestion

    i will try your idea But I am not developing Software in visual studio.
    i am developing software in QT, currently am working on this problem.
    doesn't matter why Microsoft visual studio 2015 not use more than 20-25% of CPU

    My higher priority is to solve this problem in QT

    or If you get any other idea or any other solution for it than please drop your answer or suggestion here
    Again Thanks You So Much



  • I think that as the othre users suggest you, this is not a problem. QtCreateor is using all CPUs to reduce compilation time. It's the expected behaviour.



  • @ollarch

    Thanks For You Reply

    Is there Any Mention in any QT Documentation or any other where ?



  • @Ketan__Patel__0011
    For MSVC builds, Qt uses jom instead of nmake, to build in parallel, use more CPU and speed up the building.
    You can refer to:
    https://wiki.qt.io/Jom
    https://www.qt.io/blog/2009/03/27/speeding-up-visual-c-qt-builds


  • Moderators


Log in to reply