मैंने जूलिया में विचार किया (आर या मैटलैब के विपरीत) devectorized कोड वेक्टरकृत कोड से अक्सर तेज था। लेकिन मुझे यह मामला नहीं मिल रहा है। यहां एक उदाहरण दिया गया है:यह डेवॉक्टेड जूलिया कोड 20x से अधिक धीमा क्यों है?
julia> x = Float64[1:10000000];
julia> y = Array(Float64, length(x));
julia> @time for i = 1:length(x) y[i] = exp(x[i]) end;
elapsed time: 7.014107314 seconds (959983704 bytes allocated, 25.39% gc time)
julia> @time y = exp(x);
elapsed time: 0.364695612 seconds (80000128 bytes allocated)
वेक्टरकृत कोड इतना तेज़ क्यों है? ऐसा लगता है कि devectorized कोड 10x से अधिक स्मृति आवंटित कर रहा है। लेकिन केवल कुछ बाइट्स को वास्तव में किसी भी फ्लोट को फैलाने के लिए आवंटित करने की आवश्यकता है। क्या डिवेक्टरिज्ड कोड लिखने का कोई तरीका है ताकि यह इतनी मेमोरी आवंटित न करे, और इस प्रकार वेक्टरकृत कोड से तेज़ी से चलता है?
धन्यवाद!
"_ मैंने सोचा ..._" आपको हमेशा इस प्रकृति के दावों का समर्थन करने के लिए कुछ सबूत देना चाहिए। – csmckelvey
निश्चित रूप से, यहां एक पोस्ट है जो दर्शाता है कि जूलिया में कितना तेज़ डिवेक्टरिज्ड कोड हो सकता है: http://www.johnmyleswhite.com/notebook/2013/12/22/the-relationship-between-vectorized-and-devectorized-code/ – Jeff