कोड को देखते हुए:लूप unrolling और अनुकूलन
for (int i = 0; i < n; ++i)
{
A(i) ;
B(i) ;
C(i) ;
}
और अनुकूलन संस्करण:
for (int i = 0; i < (n - 2); i+=3)
{
A(i)
A(i+1)
A(i+2)
B(i)
B(i+1)
B(i+2)
C(i)
C(i+1)
C(i+2)
}
मुझे कुछ करने के लिए स्पष्ट नहीं है: जो बेहतर है? मैं कुछ भी नहीं देख सकता जो दूसरे संस्करण का उपयोग करके किसी भी तेजी से काम करता है। क्या मुझसे कोई चूक हो रही है ?
सभी मुझे लगता है कि प्रत्येक अनुदेश पिछले अनुदेश के आधार पर किया जाता है, जिसका अर्थ है कि मैं प्रतीक्षा करने के लिए है कि पिछले अनुदेश आदेश के बाद एक शुरू करने के लिए खत्म हो जाएगा की जरूरत है ...
धन्यवाद
कौन सी भाषा? – Bytemain
विकिपीडिया के पास इसके लायक होने के लिए लूप अनलोलिंग के पीछे विचार पर एक अच्छा लेख है: http://en.wikipedia.org/wiki/Loop_unwinding –
सामान्यतः, ये समकक्ष नहीं हैं। ए होना चाहिए (i); बी (i); सी (i); एक (मैं 1 +); बी (i + 1); इत्यादि – gnasher729