Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Does compiling Qt works for improving the Application's performance
Qt 6.12 LTS is out! See what's new in the release blog

Does compiling Qt works for improving the Application's performance

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 5 Posters 1.6k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mrjjM mrjj

    Hi
    Recomping Qt should not make a dramatic effect on ram usage as
    most of that comes from the actual app.
    Stripping features might make the support DLLS smaller but
    will not affect the performance of the remaining.

    So i would analyze the app and figure out what the ram usage is and see if something can be done there.

    DonationD Offline
    DonationD Offline
    Donation
    wrote on last edited by
    #3

    @mrjj Thanks for your reply. Making support DLLS smaller is also a good thing for us. I would try another way to improve that.
    Here is another question if you don't mind. Do you have any suggestions about renaming the DLLS? For example, when I finish compiling, I hope the Qt5Core.dll could be renamed to MyCore.dll. Or does it work if I combine these DLLS, such as compiling Qt5Core.dll and Qt5Widgets.dll in one dll.
    As far as I know, I can't find a way to do this. I'm expecting for your reply.

    mrjjM jsulmJ 2 Replies Last reply
    0
    • DonationD Donation

      @mrjj Thanks for your reply. Making support DLLS smaller is also a good thing for us. I would try another way to improve that.
      Here is another question if you don't mind. Do you have any suggestions about renaming the DLLS? For example, when I finish compiling, I hope the Qt5Core.dll could be renamed to MyCore.dll. Or does it work if I combine these DLLS, such as compiling Qt5Core.dll and Qt5Widgets.dll in one dll.
      As far as I know, I can't find a way to do this. I'm expecting for your reply.

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #4

      @Donation
      Hi
      It would be complicated to rename or merge the dlls as
      the whole module system is built around those names.
      and tools like qmake links automatically to Qt5Core so
      having it uses other names might require lots of code changes.

      Why do you want to rename them?

      DonationD 1 Reply Last reply
      0
      • DonationD Donation

        @mrjj Thanks for your reply. Making support DLLS smaller is also a good thing for us. I would try another way to improve that.
        Here is another question if you don't mind. Do you have any suggestions about renaming the DLLS? For example, when I finish compiling, I hope the Qt5Core.dll could be renamed to MyCore.dll. Or does it work if I combine these DLLS, such as compiling Qt5Core.dll and Qt5Widgets.dll in one dll.
        As far as I know, I can't find a way to do this. I'm expecting for your reply.

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #5

        @Donation Actually, you should first find out what exactly consumes RAM in your app before hacking around with Qt. You could use Valgrind for example. Most probably it is not Qt eating the RAM/CPU.

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        DonationD 1 Reply Last reply
        3
        • jsulmJ jsulm

          @Donation Actually, you should first find out what exactly consumes RAM in your app before hacking around with Qt. You could use Valgrind for example. Most probably it is not Qt eating the RAM/CPU.

          DonationD Offline
          DonationD Offline
          Donation
          wrote on last edited by Donation
          #6

          @jsulm Thanks for your reply, I'm already do something to improve before. And the performance is good. I just want to know if it's useful to make my app better.

          1 Reply Last reply
          0
          • mrjjM mrjj

            @Donation
            Hi
            It would be complicated to rename or merge the dlls as
            the whole module system is built around those names.
            and tools like qmake links automatically to Qt5Core so
            having it uses other names might require lots of code changes.

            Why do you want to rename them?

            DonationD Offline
            DonationD Offline
            Donation
            wrote on last edited by
            #7

            @mrjj It seems like a stupid idea, haha.
            My friends discussed with me about the renaming, so I also wonder if it can be done.

            mrjjM 1 Reply Last reply
            0
            • DonationD Donation

              @mrjj It seems like a stupid idea, haha.
              My friends discussed with me about the renaming, so I also wonder if it can be done.

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #8

              @Donation
              Well technically it should be possible but the benefit is hard to see :)
              It would be like digging a hole for a swimming pool with a spoon.
              Its possible but really not recommended.

              DonationD 1 Reply Last reply
              1
              • sierdzioS Offline
                sierdzioS Offline
                sierdzio
                Moderators
                wrote on last edited by
                #9

                If you want more performance, use higher optimization flags (-O3 or link time optimisation). If you want smaller size, use -Os. You can't have both ;-) Maybe except one solution (if your license permits): static. With statick Qt and application, your linker will remove all unnecessary code when linking, and compiler will speed things up when optimizing.

                (Z(:^

                DonationD 1 Reply Last reply
                3
                • sierdzioS sierdzio

                  If you want more performance, use higher optimization flags (-O3 or link time optimisation). If you want smaller size, use -Os. You can't have both ;-) Maybe except one solution (if your license permits): static. With statick Qt and application, your linker will remove all unnecessary code when linking, and compiler will speed things up when optimizing.

                  DonationD Offline
                  DonationD Offline
                  Donation
                  wrote on last edited by
                  #10

                  @sierdzio Thanks for your help and I will try it.

                  1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @Donation
                    Well technically it should be possible but the benefit is hard to see :)
                    It would be like digging a hole for a swimming pool with a spoon.
                    Its possible but really not recommended.

                    DonationD Offline
                    DonationD Offline
                    Donation
                    wrote on last edited by
                    #11

                    @mrjj ok, i will leave out this idea
                    Thank you again for your help

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      SimonSchroeder
                      wrote on last edited by
                      #12

                      I also would've suggesting static linking with Qt. As @sierdzio mentioned you need to make sure to comply with the license. If you have a commercial license it don't think it is a problem (I have never had a closer look at the commercial license). If you only use your software inhouse and don't distribute it there is also no problem when using LGPL. If your software is open source then I also don't see a problem. If, however, you use Qt under LGPL and distribute your software then you need to provide every user with a way to relink your software with their own Qt version (it does not make much sense if some of it is inlined, but that is the law). Basically, you would need to provide upon request (at least) the object files of your software or your whole software packed into a library together with instructions how to link it with Qt.

                      1 Reply Last reply
                      1

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt
                      • Unsolved