Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
cmd/compile: generate better eq algs for some array types #37866
case TARRAY: // An array of pure memory would be handled by the // standard memequal, so the element type must not be // pure memory. Even if we unrolled the range loop, // each iteration would be a function call, so don't bother // unrolling.
This is not quite true. Floats can’t be compared as pure mem, but don’t require a function call.
And some things that do require a function call are nevertheless susceptible to more optimization. For example, for comparing arrays of strings, we could compare all lengths first (possibly unrolled), and only compare bytes if all lengths agree. Probably something similar for interfaces.
We might even want to inline or partially inline some of these cases.