मैं इंजीनियरिंग इंजीनियरिंग छात्र हूं जो वर्तमान में संख्यात्मक सिमुलेशन के प्रयोजनों के लिए MATLAB से Python में संक्रमण कर रहा है। मैं इस धारणा के तहत था कि मूल सरणी हेरफेर के लिए, न्यूम्पी MATLAB जितनी तेज होगी। हालांकि, यह दो अलग-अलग कार्यक्रमों के लिए प्रतीत होता है जो मैं लिखता हूं कि MATLAB कम से कम दो गुना जितना तेज़ है। परीक्षण कोड मैं Numpy के लिए उपयोग कर रहा हूँ (अजगर 3.3) है:MATLAB जितनी तेज़ी से न्यूम
import numpy as np
import time
a = np.random.rand(5000,5000,3)
tic = time.time()
a[:,:,0] = a[:,:,1]
a[:,:,2] = a[:,:,0]
a[:,:,1] = a[:,:,2]
toc = time.time() - tic
print(toc)
MATLAB 2012a के लिए मैं उपयोग कर रहा हूँ जबकि:
a = rand(5000,5000,3);
tic;
a(:,:,1) = a(:,:,2);
a(:,:,3) = a(:,:,1);
a(:,:,2) = a(:,:,3);
toc
एल्गोरिथ्म मैं उपयोग कर रहा हूँ एक नासा website की तुलना पर इस्तेमाल किया जाता है बेवकूफ और MATLAB। वेबसाइट से पता चलता है कि इस एल्गोरिदम के लिए गति के मामले में Numpy MATLAB को पार करता है। फिर भी मेरे परिणाम नम्पी के लिए 0.4 9 एस सिमुलेशन टाइम और MATLAB के लिए 0.2 9 एस सिमुलेशन टाइम दिखाते हैं। मैंने नम्पी और मैटलैब दोनों पर गॉस-सेडल सॉल्वर भी चलाया है और मुझे इसी तरह के परिणाम मिलते हैं (16.5 एस बनाम 9.5 एस)
मैं पायथन के लिए नया ब्रांड हूं और प्रोग्रामिंग के मामले में बेहद साक्षर नहीं हूं। मैं WinPython 64 बिट पायथन वितरण का उपयोग कर रहा हूं लेकिन पाइथोनक्सी का कोई फायदा नहीं हुआ है।
एक बात जो मैंने पढ़ी है उसे प्रदर्शन में सुधार करना चाहिए एमकेएल का उपयोग कर बेवकूफ बना रहा है। दुर्भाग्य से मुझे नहीं पता कि विंडोज़ पर ऐसा कैसे करें। क्या मुझे यह करने की भी आवश्यकता है?
कोई सुझाव?
क्रिस्टोफ गोहल्के इंटेल एमकेएल के खिलाफ जुड़े न्यूमपी के साथ कई पायथन पैकेजों के लिए विंडोज़ बाइनरी प्रदान करता है: http://www.lfd.uci.edu/~gohlke/pythonlibs/ – Amro
हाँ। पाइथन मैटलैब के सापेक्ष धीमे होने के लिए भी इस्तेमाल होता था ताकि आप भाग्यशाली हों। :-) – horchler
WinPython का वर्तमान वितरण [पहले से ही NumPy-MKL के साथ आता है] (https://code.google.com/p/winpython/wiki/PackageIndex_33)। – Jaime