• 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
      1
      ·
      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.