We had certain problems during another project due to non-optimal design. Sometimes, requirements are not clear beforehand, and such optimisations depend highly on the desired functionality. If the functionality changes, a lot of code needs to be rewritten. But that holds true for most optimisations.
I don’t see any problem, however, for the mentioned vector operations. The problem domain and requirements are very clear.
A great project for an intern indeed!