मैं निम्नलिखित matlab कोड भाग गया:क्यों आव्यूह गुणन अपने लैपटॉप पर 7 से कोर के साथ काम स्टेशन पर धीमी चलती है?
rng(1)
matrix_size = 200;
iterations = 100000;
A = rand(matrix_size);
B = rand(matrix_size);
profile on
for i = 1:iterations
A * B;
end
profile off
मेरी MacAir (इंटेल (आर) कोर (टीएम) i5-4260U सीपीयू @ 1.40GHz) पर, यह 39s लेता है। 7 कोर (इंटेल (आर) जिऑन (आर) सीपीयू E5-2687W v4 @ 3.00GHz) के साथ एक कार्य केंद्र पर, इस 62s लेता है।
मैं -singleCompThread
निर्दिष्ट नहीं किया। कार्य स्टेशन में 12 कोर हैं, लेकिन 5 एकल-थ्रेडेड प्रक्रियाएं चल रही थीं। मेरे पास (लगभग) 7 कोर थे। वे पूरे समय अधिकतम कर दिए गए थे।
यह कैसे हो सकता है?
-singleCompThread
साथ ऊपर कोड चल रहा है, यह 54s में पूरा करता है।
आपको यह परीक्षण विशिष्ट मैट्रिक्स के साथ चलाना चाहिए, यादृच्छिक matrices नहीं। यादृच्छिकता एक कारक हो सकता है। – Wolfie
ध्यान दें कि 'rng (1)' की वजह से मैट्रिस दोनों मशीनों पर समान हैं, जो बीज सेट करता है। – Kappie001
क्या होता है यदि आप ['timeit'] (https://www.mathworks.com/help/matlab/ref/timeit.html) का उपयोग करके एक ही परीक्षण करते हैं? I = 1 के लिए 'f = @() आज़माएं: पुनरावृत्तियों; ए * बी; अंत; 'फिर' टी = टाइमिट (एफ); '। – craigim