1 comments

  • Scaevolus1 hour ago
    Auto-vectorization is consistently one of the least predictable optimization passes, which is rather awful, since when it <i>doesn&#x27;t</i> trigger your functions are suddenly &gt;3x slower. This drives people to more explicit SIMD coding, from direct assembly like in FFMPEG to wrappers providing some cross-platform support like Google&#x27;s Highway.<p>It&#x27;s just really hard to detect and exploit profitable and safe vectorization opportunities. The theory behind some of the optimizers is beautiful, though: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Polytope_model" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Polytope_model</a>
    • drob51837 minutes ago
      I’m always shocked at what the compiler is able to deduce wrt vectorization. When it works, it’s magical.