में संकलक को विभाजन को अनुकूलित करेगा Floating point division vs floating point multiplication इस प्रश्न के आधार पर। कुछ कारणों से प्रभाग गुणा से धीमा है।संकलक
क्या कंपाइलर आमतौर पर गुणा करके विभाजन को प्रतिस्थापित करेगा यदि यह संभव है?
उदाहरण के लिए:
float a;
// During runtime a=5.4f
float b = a/10.f;
यह होगा:
float a;
// During runtime a=5.4f
float b = a*0.1f;
यह एक संकलक भरोसेमंद प्रश्न माना जाता है, मैं VS2013 डिफ़ॉल्ट संकलक उपयोग कर रहा हूँ। हालांकि, यह अच्छा होगा अगर मुझे सामान्य जवाब (इस अनुकूलन की सैद्धांतिक वैधता)
क्या संकलक को पारस्परिक रूप से गुणा करने में सक्षम होने के लिए विभाजन नहीं करना चाहिए? – NathanOliver
यह "यदि संभव हो" के तहत शामिल नहीं है, तो यह एक ऐसा मामला है जहां तक यह संभव नहीं है जब तक सटीकता का नुकसान स्वीकार नहीं किया जाता है। तो, उम्मीद है कि केवल एक ध्वज के साथ संकलन करते हैं जो विशेष रूप से इसे अनुमति देता है। – harold
@NathanOliver समय संकलित करें .. –