Remix.run Logo
CalChris 3 days ago

I’ve seen this list many many times and I’m always surprised it doesn’t include registers.

yvdriess 3 days ago | parent [-]

Register moves do not really play a factor in performance, unless its to move to/from vector registers.

CalChris 3 days ago | parent [-]

H+P says register allocation is one of the most important—if not the most important—optimizations.

yvdriess 3 days ago | parent [-]

In cpu uarch design, sure, but that's outside the context of the discussion. There's nothing you can do to that C++ library you are optimizing that will impact performance due to register allocation/renaming.

barchar 3 days ago | parent [-]

This is not always true. Compilers are quite good at register allocation but sometimes they get it wrong and sometimes you can make small changes to code that improve register allocation and thus performance.

Usually the problem is an unfortunately placed spill, so the operation is actually l1d$ traffic, but still.

zahlman 2 days ago | parent [-]

> l1d$

I don't know how to interpret this.

andrewf 2 days ago | parent [-]

Level 1 data cache