I agree .. fast doesn't take account of how verbose or understandable code will be.
As an extreme example, people choose not to write low level code for a good reason, even if it might be fast.
High level / interpreted code will be more understandable, but will automatically have an overhead in most cases.
Techniques like manual code unrolling/inlining, writing branchless code, compressing data to fit into a pointer, etc.