अक्सर एक डेवलपर को एक समस्या को हल करने के दो संभावित तरीकों के बीच एक विकल्प के साथ सामना किया जाएगा - एक जो मुहावरेदार और पठनीय है, और दूसरा जो कम सहज है, लेकिन बेहतर प्रदर्शन कर सकता है। उदाहरण के लिए, C- आधारित भाषाओं में, संख्या को 2 से गुणा करने के दो तरीके हैं:
int SimpleMultiplyBy2(int x)
{
return x * 2;
}
तथा
int FastMultiplyBy2(int x)
{
return x << 1;
}
पहला संस्करण तकनीकी और गैर-तकनीकी दोनों पाठकों के लिए लेने के लिए सरल है, लेकिन दूसरा बेहतर प्रदर्शन कर सकता है, क्योंकि बिट शिफ्टिंग गुणा की तुलना में सरल ऑपरेशन है। (अभी के लिए, मान लेते हैं कि संकलक के अनुकूलक इस का पता नहीं लगाएगा और इसे अनुकूलित नहीं करेगा, हालांकि यह भी एक विचार है)।
एक डेवलपर के रूप में, जो प्रारंभिक प्रयास के रूप में बेहतर होगा?