HISE Logo Forum
    • Categories
    • Register
    • Login

    CPU usage during compilation

    Scheduled Pinned Locked Moved General Questions
    38 Posts 10 Posters 1.9k Views
    Loading More Posts
    • 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.
    • LindonL
      Lindon @d.healey
      last edited by

      @d-healey I've spent a fair while thinking about getting another machine - so I spent another fair while looking at the Task Manager and performance manager in Windows as I run a compile(I'd like to find out if I'm CPU, memory or disk bound) , and there's all sorts of strangeness's going on.....CPU does spike at 100% here (i5 family but on windows) but so does memory and the disk (tho its not SSD so hey...)

      HISE Development for hire.
      www.channelrobot.com

      DanHD 1 Reply Last reply Reply Quote 0
      • DanHD
        DanH @Lindon
        last edited by

        @Lindon Mac Mini 2018 i7 here, cpu and temp always go way up when compiling. Only takes about 5 mins to compile though and its a very big plugin. Don't know if that's good or not...

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

        d.healeyD 1 Reply Last reply Reply Quote 1
        • d.healeyD
          d.healey @DanH
          last edited by

          @DanH Doesn't help me :p

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          1 Reply Last reply Reply Quote 0
          • ospfeigrpO
            ospfeigrp
            last edited by

            i have just built scriptnode and compiled a plugin on neon latest linux dist with dual xeon 2680 v3 it's a 24 core systemwith 32 gb ddr4 ram and still incredibly slow, on the same hardware running win 10 seems to fly but on a linux distro seems slow for some reason

            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey
              last edited by d.healey

              @ospfeigrp Did you enable all threads? i.e -j 44 (assuming 2 threads per core) ?

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              ospfeigrpO 1 Reply Last reply Reply Quote 0
              • ospfeigrpO
                ospfeigrp @d.healey
                last edited by ospfeigrp

                @d-healey nope, i did not thanks for that. so i would use:

                make CONFIG=Release -j 48
                

                Edit: i just compiled the plugin version of hise scriptnode with -j40 and it finished in around one minute

                d.healeyD 1 Reply Last reply Reply Quote 1
                • d.healeyD
                  d.healey @ospfeigrp
                  last edited by

                  @ospfeigrp I usually leave a few threads available for the system to do other things but use all 48 if you want :)

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  ospfeigrpO 1 Reply Last reply Reply Quote 0
                  • ospfeigrpO
                    ospfeigrp @d.healey
                    last edited by

                    @d-healey thanks, I just try recompiling HISE standalone with -j 40 and it's very slow around "Linking HISE standalone - App" this time it took 8 minutes for the standalone.

                    1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey
                      last edited by d.healey

                      Linking is always single threaded with gcc/g++

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      1 Reply Last reply Reply Quote 1
                      • d.healeyD
                        d.healey
                        last edited by

                        This might be a solution worth investigating for multi-threaded linking - https://lld.llvm.org/

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey
                          last edited by

                          I found what was causing my CPU issues. The CPU was power throttling. I've increased the power limits and now I'm getting much better clock speed when compiling.

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          1 Reply Last reply Reply Quote 2
                          • d.healeyD
                            d.healey
                            last edited by d.healey

                            I just tried lld, seems it might be a bit faster at linking but I'd need to do some proper benchmarks to know for certain.

                            In case anyone else (or future Dave) is thinking of using lld (or gold) for linking here is what you need to do:

                            Put the following in the Extra Linker Flags box in Projucer

                            For lld:
                            -fuse-ld=lld
                            

                            With lld you need to use Clang instead of GCC. So the make command will look something like: make CXX=clang++ CONFIG=Release -j 6

                            For gold:
                            -fuse-ld=gold
                            -Wl,--threads
                            -Wl,--thread-count=6
                            

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey
                              last edited by d.healey

                              I've tried both of these linkers so far and have had no success in improving compile times.

                              For some reason, which I can't work out, clang + lld will compile and link but the linking is still only single threaded. @Christoph-Hart Any ideas?

                              With gold the compiling via GCC works but the linking fails with an error - I haven't dug into this one much more because it seems lld is the better of the two.

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart
                                last edited by

                                I think the newest script node version compiles a little bit faster because the template system is a little bit less complex, but in my experience the only way to really speed up compile times is to get a better system :)

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Christoph Hart
                                  last edited by

                                  @Christoph-Hart Compile time is fine, it's the linking that's the problem, it only uses a single thread.

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  1 Reply Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey
                                    last edited by

                                    Finally solved the linker threading thing.

                                    Add this to the Extra Linker Flags section -flto=auto :D

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    ustkU 1 Reply Last reply Reply Quote 2
                                    • ustkU
                                      ustk @d.healey
                                      last edited by ustk

                                      @d-healey Nice one! Is that linux only?

                                      EDIT: oh yes it's linux... I wonder if I can speed up the process on mac too...

                                      Can't help pressing F5 in the forum...

                                      d.healeyD Y 2 Replies Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey @ustk
                                        last edited by

                                        @ustk I think Xcode already does multi-threaded linking.

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        1 Reply Last reply Reply Quote 0
                                        • Y
                                          yall @ustk
                                          last edited by

                                          @ustk mac je met 1h pour un vst. Windows 4 minutes. Ça rend ouf

                                          Matt_SFM 1 Reply Last reply Reply Quote 0
                                          • Matt_SFM
                                            Matt_SF @yall
                                            last edited by

                                            @yall pareil. 1/2 an hour on my mac (Intel i7) , 5mins on pc

                                            Develop branch
                                            Win10 & VS17 / Ventura & Xcode 14. 3

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            9

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.2k

                                            Posts