Announcement

Collapse
No announcement yet.

Is The Gentoo-Based Calculate Linux Faster Than Other Distributions?

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

  • #11
    Originally posted by michal View Post
    you just forgot about -funroll-loops

    Actually, unrolling loops may or may not help, but -ftree-vectorize should indeed give calculations a boost, and it's called "Calculate Linux" after all, no?

    Comment


    • #12
      I actually am running a Gentoo system with Linux 4.2, GCC 4.9, LLVM 3.7 and Mesa 11. My system is running with full OpenGL 4.1 support. Enabling the GCC Graphite flags may help in performance as well, which goes well with ftree-vectorize, after making sure that GCC is compiled with graphite support enabled: "-floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize"

      Comment


      • #13
        This is like comparing Android with Debian. After all, they're both linux based

        While gentoo's speed isnt just a myth, the speed improvements are just minor benefits (a bonus). While -march=native and -mtune=native will improve speed, think of the following:

        - a package that has 10 different functionalities;
        - you only need USE 5;

        Your average linux distro will have all that built-in. Now that goes for almost every package.

        - general binary: 10M
        - custom binary: less

        Smaller binaries do load faster and they are cached better (less memory needed), this doesn't really matter for ssds.

        Security:

        - the one big thing is every each of those 5 functionalities of every program can (and sometime they do) have BUGS;
        - when (not if) those bugs are found you're average distro is vulnerable (think of HeartBleed);
        - the same average distro will take days (or weeks, or months) to push patches;

        - on gentoo your package may not have been compiled with that functionality;
        - if it was, it's likely that your first update will clear that one way or another;
        - no update? - most of the time you just recompile that package without that functionality by disabling its flag;

        Comment


        • #14

          I like the fact that with Gentoo I don't have to roll into the still rather train-wrecked Plasma Frameworks or install the latest (busted) nvidia driver (real world examples - in my case). So the multiple versions of the same application / library available in the Portage tree is another real benefit.

          Portage overlays are also handy and quite easy to get involved with (as a layperson package maintainer). Not up to the Arch AUR - but a passable size of stuff is available!

          Also the community is a total bunch of grumpy farts - who complain a lot :-) No code of conduct bs here...

          I'm testing out a suspend issue with the Nvidia driver. Testing older kernels 3.14 , 3.18 (currently using 4.1.8) - I was amazed by how much speed difference the jump from 3.14 to 3.18 made... Testing a binary distro - like Calculate Linux - doesn't give Gentoo a fair benchmark experience vs. other non-lts distros - not when all the packages are taken from the stable. Other derivatives, e.g. Sabayon, have so much stuff added (e.g. binary package manager) and configuration options - that they might as well be a completely different distro. Gentoo, is after all, often described as a template for a system rather than a distribution...


          Comment


          • #15
            There are four reasons for me to prefer Gentoo over other distros. Speed is not one of them.

            1) It's the only distribution that let's you freely choose which version of a package you install, let's you mask versions if they do not work in your environment or have bugs, let's you install multiple versions under the same name in parallel. This is very important for a rolling release distro. If I want to update on Arch I have to update everything and just accept that I am stuck with some package versions I don't like.

            2) Choice and what that means for me: No systemd. I don't trust it, I don't want to use it, for several technical and non-technical reasons. As like with many other software (like libav vs. ffmpeg) Gentoo offers me a choice here that other distributions want to make for me. And with eselect there is even a very convenient tool to manage these choices. For example it symlinks the prefered implementation of vi among all installed alternatives. There is even an option to replace most system programs with busybox alternatives for a very slim (but minimalistic) system in let's say an embedded environment.

            3) Configuration management. No configurations get overwritten or just ignored in an update. All other distros do either one thing or the other. But in gentoo after a package update you can do assisted merging of all changed configuration files. Arch has this as well, but not nearly as elegant as Gentoo's solution with cfg-update which ties in very closely with portage. If configurations get updated that you didn't change yourself cfg-update will do everything for you. It even remembers the willing changes you merged last time and if they still apply will offer you to take them over.

            4) As others have mentioned, USE-flags. If I don't want a certain functionality installed because it parasitically interferes with the system (lets say pulseaudio), I don't have to. With other distros I don't have any choice. For example Pulse was forcibly installed on my Arch system after I upgraded to Plasma 5 recently, no way around it. Of course I can deactivate it but that causes more problems than it solves. Several applications that are linked to it but don't offer configuration options will know it's there and automatically start it (which makes it block every alsa card) so I just have to deal with it even if I'd rather not. Gentoo offers me the ability to completely remove an optional dependency from all applications that use it (In the case of pulse even from binary packages like Skype if I'd want to use that).


            That being said, I still use other distros as well. Arch is great for my notebook because it's too weak to deal with compiling the updates all the time. But even with Arch I have a lot more frustration than I have with Gentoo on my desktop.

            Comment


            • #16
              Originally posted by Dorsai! View Post
              There are four reasons for me to prefer Gentoo over other distros. Speed is not one of them.

              1) It's the only distribution that let's you freely choose which version of a package you install, let's you mask versions if they do not work in your environment or have bugs, let's you install multiple versions under the same name in parallel. This is very important for a rolling release distro. If I want to update on Arch I have to update everything and just accept that I am stuck with some package versions I don't like.

              2) Choice and what that means for me: No systemd. I don't trust it, I don't want to use it, for several technical and non-technical reasons. As like with many other software (like libav vs. ffmpeg) Gentoo offers me a choice here that other distributions want to make for me. And with eselect there is even a very convenient tool to manage these choices. For example it symlinks the prefered implementation of vi among all installed alternatives. There is even an option to replace most system programs with busybox alternatives for a very slim (but minimalistic) system in let's say an embedded environment.

              3) Configuration management. No configurations get overwritten or just ignored in an update. All other distros do either one thing or the other. But in gentoo after a package update you can do assisted merging of all changed configuration files. Arch has this as well, but not nearly as elegant as Gentoo's solution with cfg-update which ties in very closely with portage. If configurations get updated that you didn't change yourself cfg-update will do everything for you. It even remembers the willing changes you merged last time and if they still apply will offer you to take them over.

              4) As others have mentioned, USE-flags. If I don't want a certain functionality installed because it parasitically interferes with the system (lets say pulseaudio), I don't have to. With other distros I don't have any choice. For example Pulse was forcibly installed on my Arch system after I upgraded to Plasma 5 recently, no way around it. Of course I can deactivate it but that causes more problems than it solves. Several applications that are linked to it but don't offer configuration options will know it's there and automatically start it (which makes it block every alsa card) so I just have to deal with it even if I'd rather not. Gentoo offers me the ability to completely remove an optional dependency from all applications that use it (In the case of pulse even from binary packages like Skype if I'd want to use that).


              That being said, I still use other distros as well. Arch is great for my notebook because it's too weak to deal with compiling the updates all the time. But even with Arch I have a lot more frustration than I have with Gentoo on my desktop.
              Agree solidly!

              Comment


              • #17
                Thank you for starting on these benchmarks again, and in particular a niche distro such as Gentoo. It also shows us the potential improvements in natively compiled software.

                Comment


                • #18
                  For your average office computer, you will probably not notice a difference between Gentoo and other distros.

                  But in certain scenarios, that difference can be considerable. For example, using your processor's advanced instruction sets (like SSE3, AVX, ...) can give you a drastic performance boost when processing media content:

                  (Source: https://plus.google.com/+HoracioGdeO...ts/jXiJZBhDTXY)

                  Another example, on ARMv7 systems, most binary distros build their packages with -mfpu=vfp3-d16 because some SoCs have only 16 FP registers. Most ARMv7 SoCs have 32 registers though, and using them all can make a difference in FP-heavy code (~20 percent for OpenBLAS GEMM)

                  The USE flags are another thing which can matter a lot in special cases. One of the more notorious examples is nginx, because it will be compiled with all features into a monilithic binary. This of course puts the binary distro packager into a dilemma which features to include and which not. Debian for example will provide three nginx packages "nginx-light", "nginx-full", "nginx-extras", where the "extras" includes every possible feature in a huge binary. Need only 1 feature that is in extras and not in the others? Tough luck. With Gentoo you can have a server that is tailored to your requirements and trims the unnecessary functions.

                  Comment


                  • #19
                    Originally posted by Dorsai! View Post
                    There are four reasons for me to prefer Gentoo over other distros. Speed is not one of them.

                    1) It's the only distribution that let's you freely choose which version of a package you install, let's you mask versions if they do not work in your environment or have bugs, let's you install multiple versions under the same name in parallel. This is very important for a rolling release distro. If I want to update on Arch I have to update everything and just accept that I am stuck with some package versions I don't like.

                    2) Choice and what that means for me: No systemd. I don't trust it, I don't want to use it, for several technical and non-technical reasons. As like with many other software (like libav vs. ffmpeg) Gentoo offers me a choice here that other distributions want to make for me. And with eselect there is even a very convenient tool to manage these choices. For example it symlinks the prefered implementation of vi among all installed alternatives. There is even an option to replace most system programs with busybox alternatives for a very slim (but minimalistic) system in let's say an embedded environment.

                    3) Configuration management. No configurations get overwritten or just ignored in an update. All other distros do either one thing or the other. But in gentoo after a package update you can do assisted merging of all changed configuration files. Arch has this as well, but not nearly as elegant as Gentoo's solution with cfg-update which ties in very closely with portage. If configurations get updated that you didn't change yourself cfg-update will do everything for you. It even remembers the willing changes you merged last time and if they still apply will offer you to take them over.

                    4) As others have mentioned, USE-flags. If I don't want a certain functionality installed because it parasitically interferes with the system (lets say pulseaudio), I don't have to. With other distros I don't have any choice. For example Pulse was forcibly installed on my Arch system after I upgraded to Plasma 5 recently, no way around it. Of course I can deactivate it but that causes more problems than it solves. Several applications that are linked to it but don't offer configuration options will know it's there and automatically start it (which makes it block every alsa card) so I just have to deal with it even if I'd rather not. Gentoo offers me the ability to completely remove an optional dependency from all applications that use it (In the case of pulse even from binary packages like Skype if I'd want to use that).


                    That being said, I still use other distros as well. Arch is great for my notebook because it's too weak to deal with compiling the updates all the time. But even with Arch I have a lot more frustration than I have with Gentoo on my desktop.
                    Absolutely agree! I love the flexibility they provide.

                    Comment

                    Working...
                    X