Announcement

Collapse
No announcement yet.

GCC 6.2 Is Coming Quite Soon

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

  • GCC 6.2 Is Coming Quite Soon

    Phoronix: GCC 6.2 Is Coming Quite Soon

    Version 6.2 of the GNU Compiler Collection (GCC) is expected to come quite soon...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    If this is their notion of stable then god help testers of their "unstable" repertoire.


    Comment


    • #3
      Total 296 + 72
      This, quite likely. In the ~four months since 6.1, the 6.x branch has 72 net new bugs open. That doesn't give any confidence in 6.2. While I was waiting for 6.2 to try gcc 6, with this I'll probably wait for 6.3.

      Comment


      • #4
        Disappointed in gentoo unstable. Debian unstable got it before.

        Comment


        • #5
          Originally posted by cj.wijtmans View Post
          Disappointed in gentoo unstable. Debian unstable got it before.
          gentoo depends on a working compiler to have anything working. So you can expect that they will have a little delay to have a little guarantee that it will at least work, even on unstable.

          Comment


          • #6
            Originally posted by atomsymbol

            6.1 works fine on my machine (after I turned off the new C++ ABI), but there is very little reason (if any) to go for 6.1 instead of 5.4.

            The most severe "bug" from my viewpoint is g++ compiler speed.
            So GCC 6 is slower for compiling C++? That's kind of, sad.
            Is there any reason to jump from 4.9 to 5.x or 6.x? 4.9 works and I can compile linux, so what's the hurry?

            Comment


            • #7
              I thought point of gcc-6 was, beside new architectures, new C++ABI also more aggressive optimisations and cleanups in LTO area.

              Comment


              • #8
                Originally posted by atomsymbol
                6.1 supports newer C/C++ language features for those who want to try or use them. This may to some extent be used to explain why 6.1 is slower, but being 2-times slower is too much in my opinion.
                Testing with a 6-line program is pointless. How much of your timing is startup overhead, and how much is actual compilation speed? Is it still two times slower when used on something real?

                Comment


                • #9
                  Originally posted by atomsymbol

                  Code:
                  $ cat a.cc
                  #include <iostream>
                  int main(int argc, char **argv) {
                  std::cout << argc << std::endl;
                  return 0;
                  }
                  Compilation time: $CXX -c a.cc -O0 $CXX -c a.cc -O2 $CXX -E a.cc | wc -c
                  g++ 4.9.3 88 ms 91 ms 452 KiB
                  g++ 6.1.0 180 ms 185 ms 670 KiB
                  clang++ 4.0git 39 ms 42 ms 458 KiB
                  Try this example:

                  Code:
                  #include <iostream>
                  #include <chrono>
                  using namespace std;
                  
                  static unsigned long long fib(int n) {
                      if (n < 2)
                          return n;
                      return fib(n - 1) + fib(n - 2);
                  }
                  
                  int main() {
                      chrono::high_resolution_clock::time_point t0 = chrono::high_resolution_clock::now();
                      cout << fib(47) << endl;
                      cout << chrono::duration_cast<chrono::duration<double>>(chrono::high_resolution_clock::now() - t0).count() << std::endl;
                      return 0;
                  }
                  gcc compiles it about twice as fast (210ms vs 400ms) and the resulting binary is about 30% faster (10s vs 14s, compared to clang++ git from today).

                  Also, what kind of metric is looking at preprocessed output (gcc -E) supposed to be?
                  Last edited by mlau; 06 August 2016, 10:33 AM.

                  Comment


                  • #10
                    Originally posted by atomsymbol
                    In short: There's no reason to upgrade to 6.1 unless the developer is using new C/C++ features. 6.1 compiles slower and does not generate better code than 4.9.
                    Wasn't LTO greatly improved in GCC 5? That would at least seem like something over GCC 4.

                    Comment

                    Working...
                    X