Speed up your code: don't pass structs bigger than 16 bytes on AMD64
Or "How I sped up Neat by a factor of 2x".
If you check the related_post_gen benchmark, you will find that Neat,
my language, has moved up a few spots. How did I achieve this? Did I implement new high-level optimizer
passes that use language details to expose hidden optimization potential?
I changed arrays to be passed as three pointer parameters instead of one parameter consisting of a
three-pointer struct. That's it.
This problem has been vexing me for a long time. Neat seemed weirdly slower t...
Read more at gist.github.com