Announcement

Collapse
No announcement yet.

Linux 3.15 Can Almost Be Compiled Under LLVM's Clang

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

  • #11
    Originally posted by storm_st View Post
    Other narrow part of world for some reason use ugly slow GCC.
    GCC is usually used only because it is older and because it is default complier on many platforms. Of course some use GCC and not Clang specifically because of some of its advantages but many projects were started before Clang was available and now they see no reason to switch to it.

    Comment


    • #12
      Originally posted by dee. View Post
      Tsk, kids these days...
      Are you too old to read what I have written?

      Originally posted by dee. View Post
      Run-time performance is "useless" now?
      Or you did not understand it... but I help grandpas like you

      I said... benchmarks with -O3 and -march=native are useless. Why? Because nobody with a sane setup uses this. Yeah, you _can_ compile distros like Gentoo in such way, but the distribution itself says that this is a horrible idea.

      Most distributions are compiled with -O2 (or -Os) and -march=x86_64. Even "worse" they enable some (if not all) security flags which hurts the performance.

      So, maybe the binary from GCC is faster on a i7... nobody should care, because the distribution delivers standard (and more secure) binaries.

      Comment


      • #13
        Originally posted by Ericg View Post
        What the other guy said. Gentoo and Arch (and derivs) are the only two distros I know where its relatively easy to recompile all packages on your system-- eg: built into package manager. Gentoo its the default, Arch has yaourt. No one on any other distro is going to see -O3 -march=native across the board for all users. Most likely they are getting -O2 and architecture set to either generic or MAYBE, just MAYBE, core2duo.
        So if it's not used for *all* packages, it's useless?

        Still failing to see the logic here.

        Comment


        • #14
          Originally posted by -MacNuke- View Post
          Most distributions are compiled with -O2 (or -Os) and -march=x86_64. Even "worse" they enable some (if not all) security flags which hurts the performance.

          So, maybe the binary from GCC is faster on a i7... nobody should care, because the distribution delivers standard (and more secure) binaries.
          So who says you have to compile *all* of your packages?

          It's entirely possible to get most packages from the repos and only compile performance-critical applications with -O3 -march=native. And now not only this is "useless" but you also assert that "no one should care" about it?

          "I don't use it, so no one should care about it"... yeah, that's a really smart attitude... unfortunately too common these days.

          Comment


          • #15
            Originally posted by dee. View Post
            So who says you have to compile *all* of your packages?
            And you think that you regain all the lost time by compiling and managing all your self compiled programs just because your one special program is a little bit faster? Come on...

            Compilerbechmarks with -O3 -march=native are only useful to fap to some bars in a diagram... most of the people are using -O2 -march=x86_64 packages, so this is more useful benchmark.

            Compilerbenchmarks with -O3 -march=native by running other benchmarks and then conclude "GCC is better"... it's just stupid.

            Comment


            • #16
              Originally posted by -MacNuke- View Post
              And you think that you regain all the lost time by compiling and managing all your self compiled programs just because your one special program is a little bit faster? Come on...
              Why, yes. For a recent example, time spent tweaking compiler flags = 1 hour, time saved by it = 50.5 hours. By my math, that is a win.

              Comment


              • #17
                Originally posted by -MacNuke- View Post
                And you think that you regain all the lost time by compiling and managing all your self compiled programs just because your one special program is a little bit faster? Come on...
                Probably you've never had to do any kind of useful, productive work on your computer...

                I'm talking about software like graphics editors, DAW's, animation, video editing... not everyone can afford top-of-the-line hardware (and if your solution for fixing performance issues is "get faster hardware" then you're a moron in any case) and there's plenty of use cases where every bit of extra performance you can get helps.

                For example, try rendering realtime audio or doing some cpu-intensive graphics manipulations where you need to adjust parameters and see the output in realtime. Try rendering 3d animation in realtime.

                Compiling something like GIMP takes a long time in any case (no matter what compiler you use), but the thing about compiling is you only need to do it once. Then you can enjoy the performance benefits from that point on and if it's a software you need to use a lot, for example for your work, then it's a really noticeable benefit since you'll be able to eg. process graphical effects faster, and this is a direct benefit to your workflow.

                Maybe when you get older you'll realize that just because you do things a certain way it doesn't mean everyone does. Just because you don't see the benefit in some improvement doesn't mean it's useless for everyone. Try to pull your head out of your ass and see that the universe doesn't revolve around your needs only.

                Comment


                • #18
                  siavashserver, if you added PGO on top, you would probably get that 20-30%.

                  Comment


                  • #19
                    Hm, open a gcc bug?

                    Comment


                    • #20
                      Originally posted by siavashserver
                      As a normal Linux user who occasionally uses Blender to create simple models, speed up gained by manually compiled and tuned software versus generic ones isn't much interesting yet. But for a professional artist who is going to have more than 100 renders per day and deals with complex scenes, I think it's definitely worth it.
                      Indeed, specialists' use case aren't the same as general use.

                      In some field, like supercomputers, we investigate what benefits this kind of optimisation can bring us.

                      "-O3 -march=native -flto" is far from useless. Some cluster, already in production, compile each piece of software several time in a row, each time tuning for a different architecture, to make sure that each single different type of hardware gets optimised code.

                      Originally posted by -MacNuke- View Post
                      Why? Because nobody with a sane setup uses this. Yeah, you _can_ compile distros like Gentoo in such way, but the distribution itself says that this is a horrible idea.
                      I have been running Gentoo this way for a couple of year and with the exception of a couple of packages, everything DO work correctly even with O3 (and some of the exception are already known to the build system which will force -O2 for the few packages that don't work correctly in -O3).


                      Originally posted by -MacNuke- View Post
                      Most distributions are compiled with -O2 (or -Os) and -march=x86_64. {..} So, maybe the binary from GCC is faster on a i7... nobody should care, because the distribution delivers standard (and more secure) binaries.
                      And as said by siavashserver and by me, there are other use cases and classes of user who WOULD benefit from such custom compiled code and who ARE INDEED CURRENTLY custom-compiling.

                      Not every last Linux user is a random "Ubuntu-on-the-Desktop" user.

                      Comment

                      Working...
                      X