Announcement

Collapse
No announcement yet.

GDB 9.1 Released With Multi-Threaded Symbol Loading, Kills Off Solaris 10

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • GDB 9.1 Released With Multi-Threaded Symbol Loading, Kills Off Solaris 10

    Phoronix: GDB 9.1 Released With Multi-Threaded Symbol Loading, Kills Off Solaris 10

    Out this weekend is GDB 9.1 as the newest feature update to the GNU Debugger...

    http://www.phoronix.com/scan.php?pag...bugger-GDB-9.1

  • #2
    Nice. Visual Studio needs something like that. Sometimes it can take whole minutes to get its debugger started because of symbols.

    Comment


    • #3
      Studio does download the symbols when needed, and back a few years when I used it, did that unreasonably often (and for auxiliary libraries I don't care about)

      Theres a magic switch to turn that of somewhere.

      Anyway, I am still a bit shaken from the 8.x series, that had a lot of issues that only got resolved with 8.3.1.
      Hope 9.x is better in that regard, but there was already a last minute revert since this thing couldn't reliable set breakpoints under eclipse (at least).

      Comment


      • #4
        Originally posted by phoronix View Post
        Phoronix: GDB 9.1 Released With Multi-Threaded Symbol Loading, Kills Off Solaris 10

        Out this weekend is GDB 9.1 as the newest feature update to the GNU Debugger...

        http://www.phoronix.com/scan.php?pag...bugger-GDB-9.1
        The multi-threaded symbol loading is less efficient than I expected:
        • Disabled: 2.50 seconds elapsed, 99% CPU
        • Enabled: 2.16 seconds elapsed, 128% CPU

        Comment


        • #5
          Originally posted by atomsymbol View Post

          The multi-threaded symbol loading is less efficient than I expected:
          • Disabled: 2.50 seconds elapsed, 99% CPU
          • Enabled: 2.16 seconds elapsed, 128% CPU
          I would probably compare that to something that takes a minute or two, not just a couple seconds.

          Comment


          • #6
            Originally posted by computerquip View Post
            I would probably compare that to something that takes a minute or two, not just a couple seconds.
            That would mean that the executable, including the size of the shared libraries it uses, is at least 5 GB in size. Not many projects are that big.

            Comment


            • #7
              Originally posted by atomsymbol View Post

              That would mean that the executable, including the size of the shared libraries it uses, is at least 5 GB in size. Not many projects are that big.
              Curious where you're getting those numbers. The point is if something is already only taking 2.5 seconds, the gain here is pointless compared to the complexity it added. There's definitely cases where more than a few seconds is used to load symbols though.

              Comment


              • #8
                I haven't been able to get gdb to build on Red Hat/CentOS ever since version 8.2. Compilation always craps out with undefined MPFR functions. I'm sure some symlinks would fix it but I'm lazy.

                Comment


                • #9
                  Originally posted by computerquip View Post
                  Curious where you're getting those numbers. The point is if something is already only taking 2.5 seconds, the gain here is pointless compared to the complexity it added. There's definitely cases where more than a few seconds is used to load symbols though.
                  Why would you be loading symbols if you aren't making use of the information related to those symbols?

                  The question is why gdb isn't starting almost instantly irrespective of the size of the executable, printing backtraces almost instantly and printing values of variables almost instantly - the question of whether it is 1, 2.5 or 10 seconds is somewhat pointless compared to the optimizations which are possible.

                  Comment


                  • #10
                    Originally posted by computerquip View Post
                    Curious where you're getting those numbers.
                    I have a shared library with debug info of size 150 MB which loads in 2.1-2.5 seconds, so about 60 MB/s. You suggested the range "takes a minute or two", so I multiplied 60 MB/s by about 100 to get to the a-few-minutes-range suggested by you and this yielded about 5 GB/minute.

                    Comment

                    Working...
                    X