• akash_rawal@lemmy.world
    link
    fedilink
    English
    arrow-up
    25
    ·
    edit-2
    1 year ago

    Everything seems to be way faster on Linux than on windows for some reason.

    On one occasion I tested a build that took ~10 min on windows, in a Linux VM installed on the same machine, it finished in ~1min.

    I have searched around for an answer for quite some time now, I could not find any definitive reason. Some say that process creation is slower on windows, some say IO is inefficient. Still struggling to explain 10x increase in throughput.

    Here is a funny instance: https://emacs.stackexchange.com/questions/17783/why-does-emacs-take-longer-to-start-on-windows-than-on-linux

    • redcalcium@lemmy.institute
      link
      fedilink
      English
      arrow-up
      14
      ·
      edit-2
      1 year ago

      I thinks it caused by two reasons:

      • process creation has much higher overhead on windows. On top of that, the antivirus system adds additional overhead not present in Linux because it scan every process on launch and monitor its behavior until the process finished. This result in any workflow that relies on launching a bunch of processes (e.g. make-style compilation which launch the compiler process recursively) to be very slow on Windows.
      • file access on windows is also significantly slower on windows due to its filesystem filter. Also, antivirus typically hook into this filter and inspect every opened files. You can imagine this would result in significant slowdown for any workflow that relies on opening a lot of small files (e.g. compilation)

      If you disable the antivirus (including windows defender) performance would definitely improve, but it’ll still slower than on Linux.

      In order to gain sufficient performance in windows, you’ll have to use threads instead of processes (basically a single program doing everything instead of chaining multiple program Unix-style) and put your data in a single file so it can load all at once instead of in a bunch of small files loaded recursively. Basically a complete opposite of what people do on Linux.

      • akash_rawal@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Thanks for information.

        Some day I might try to controllaby worsen process creation and file access of Linux to match windows performance. Not today though.

    • gosling@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 year ago

      IMO it’s because Windows is targeted for general use so they don’t bother optimizing anything. They’ll just convince people that thei have aging hardware when things become slow and say stuffs like “unused RAM is wasted RAM” to justify taking up half of my memory on idle.

      Even running Linux from a USB is still a way smoother experience than running Windows for me.

      • akash_rawal@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Windows is so not optimised (unoptimized?) that I cannot even see what is slow anymore. Doesn’t look like windows is targeted for anything in this state.

    • metaStatic@kbin.social
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      for some reason.

      bloat

      I ran Atlus for a second before installing PopOS and Windows can be just as fast if you remove literally everything

      Atlus suffers from the fact that it’s still just windows though so all the underlying issues are still there.

    • athlon@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Well, in case of Gimp for Windows, it also doesn’t help that it uses a modified GTK. So, when you start on Gimp on Windows, the program must load all the GTK libraries first, while on Linux the shared libraries are already loaded.