• ScaredDuck@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    Aren’t most x86 executables being built now still favoring compatibility to performance? I think I’ve read that just targeting the current gen CPUs while compiling can bring up to 20% improvements.

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

      For consumer software, yes, most is still being built with a baseline target instruction set from the early/mid-2000s. In 2019 there were reports of Apex Legends requiring SSE4.1, an instruction set from circa 2007. It will be be probably close to a couple decades before consumer software would start commonly requiring these instructions.

      However, for more specialized environments, such as scientific and high-performance computing applications, it’s much more common that you will be using custom software designed for a specific task, and that it’s normal to recompile the software when you get a new set of hardware. In those applications, these instructions can make a huge impact, as you know exactly which capabilities are supported by the hardware and can use everything available.

      I believe there are also some (possibly limited) situations where a program can check what instructions a processor supports and use either the newer (higher-performance) version or the slower, more widely-supported version depending on that check. There may be limits on how often that can be done however.

      • Duralf@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        In 2019 there were reports of Apex Legends requiring SSE4.1, an instruction set from circa 2007.

        It’s not just about when it was released, sometimes budget processors or, in this case, AMD doesn’t support them straight away or ever.