Depends on the requirements. Writing the code in a natural and readable way should be number one.
Then you benchmark and find out what actually takes time; and then optimize from there.
At least thats my approach when working with mostly functional languages. No need obsess over the performance of something thats ran only a dozen times per second.
I do hate over engineered abstractions though. But not for performance reasons.
[Self Promo] I've just made Avelon (a native iOS app for Lemmy) available for download! (lemm.ee)
Hi there fellow Apple enthusiasts!...
optimal java experience (lemmy.ml)
Forget folding, Apple really wants iPhones with rollable screens (appleinsider.com)