ज्योथन में यादृच्छिक संख्या (छद्म) का उपयोग करते समय, क्या यह पाइथन यादृच्छिक मॉड्यूल या जावा की यादृच्छिक कक्षा का उपयोग करने के लिए अधिक कुशल होगा?ज्योथन में यादृच्छिकता
उत्तर
पायथन के संस्करण पर मेरे Mac एक साधारण परीक्षण में बहुत तेजी से है:
jython -m timeit -s "import random" "random.random()"
1000000 छोरों, 3 का सबसे अच्छा: पाश
प्रति 0.266 usec बनाम
jython -m timeit -s "import java.util.Random; random=java.util.Random()" "random.nextDouble()"
1000000 छोरों, सबसे अच्छा 3: 1.65 usec प्रति लूप
ज्योथन संस्करण 2.5 बी 3 और जावा संस्करण 1.5.0_1 9।
समय-समय पर, आह? मुझे वह याद रखना चाहिए !! +1 – richq
टाइमिट उन पायथन 'बैटरी शामिल' चीजों में से एक है। सख्ती से जरूरी नहीं है लेकिन बहुत अच्छा है। –
जावा की रैंडम क्लास का उपयोग करता है (और वास्तव में जावा के चश्मे द्वारा उपयोग किया जाना चाहिए) एक रैखिक संगत एल्गोरिदम, जबकि पायथन का मेर्सन ट्विस्टर का उपयोग करता है। मेर्सन बेहद उच्च गुणवत्ता की गारंटी देता है (हालांकि क्रिप्टो गुणवत्ता!) यादृच्छिक संख्या और हास्यास्पद लंबी अवधि (53-बिट परिशुद्धता फ्लोट, अवधि 2 ** 19937-1); रैखिक congruential जेनरेटर अच्छी तरह से जाना जाता है issues। यदि आपको वास्तव में यादृच्छिक संख्याओं की गुणवत्ता की परवाह नहीं है, और केवल गति के बारे में परवाह है, तो एलसीजी हालांकि तेजी से तेज होने की संभावना है क्योंकि यह कम परिष्कृत है।
दरअसल, कुछ पुराने मानकों के मुताबिक मैंने डी प्रोग्रामिंग भाषा में किया था, मेर्सन ट्विस्टर तेज है, हालांकि यह अधिक मेमोरी का उपयोग करता है। ऐसा इसलिए है क्योंकि मेर्सन ट्विस्टर ने डिवीजन ओप से बचाया है जो रैखिक संगत आवश्यकताओं की आवश्यकता है। रैखिक संयोग का उपयोग करने के एकमात्र अच्छे कारणों के बारे में हैं यदि आपके पास अत्यधिक स्मृति बाधाएं हैं या यदि आपको केवल कुछ यादृच्छिक संख्याओं की आवश्यकता है और जेनरेटर को बीज लेने में लगने वाला समय एक बाधा है। (रैखिक congruential एक छोटी राज्य अंतरिक्ष है इसलिए बीजिंग तेज है।) – dsimcha
एलसीजी को एक विभाजन की आवश्यकता है? अधिकांश एलसीजी जिनका उपयोग कहीं भी किया जाता है, उनके मॉड्यूलस के रूप में दो की शक्ति का उपयोग करते हैं (जो उपयुक्त पैरामीटर को कठिन बनाता है लेकिन काफी तेज है)। – Joey
जावा बिल्कुल (2 ** 48) -1 का एक मॉड्यूलस निर्दिष्ट करता है, और सभी जावा मानक कार्यान्वयन का बिल्कुल उपयोग करना चाहिए, इसलिए मुझे नहीं लगता कि "कहीं भी उपयोग किए जाने वाले अधिकांश एलसीजी" मामले के साथ क्या करना है - जावा यादृच्छिक अपने स्वयं के बहुत सटीक नियम हैं। –
- 1. ज्योथन
- 2. ज्योथन
- 3. संपादकों में ज्योथन समर्थन?
- 4. ज्योथन: विंडोज
- 5. ज्योथन में छिपी मल्टीथ्रेडिंग बोटलेंक्स?
- 6. वास्तविक दुनिया ज्योथन अनुप्रयोग
- 7. क्या ज्योथन टिंकर
- 8. साइथन, ज्योथन और आयरनपीथन
- 9. क्लोजर ज्योथन इंटरऑप
- 10. बिना किसी ज्योथन
- 11. यादृच्छिकता से वर्गीकरण के लिए आरओसी वक्र
- 12. फास्ट-आइश पायथन/ज्योथन आईपीसी?
- 13. स्कैला और ज्योथन की इंटरऑपरेबिलिटी
- 14. एप्लिकेशन सुरक्षा वृद्धि के रूप में स्मृति यादृच्छिकता?
- 15. यादृच्छिकता का परीक्षण कैसे करें (बिंदु में मामले - शफलिंग)
- 16. यूनिट परीक्षणों में यादृच्छिकता और/या पुनरावृत्तियों का उपयोग करना?
- 17. उसी नाम के साथ ज्योथन ओवरराइड विधि
- 18. ज्योथन या जुर्बी पर ग्रोवी फायदे?
- 19. स्टैंडअलोन ज्योथन: आयात त्रुटि (अपाचे-पीओआई)
- 20. ज्योथन क्लास्स्पैट, sys.path और जेडीबीसी ड्राइवर
- 21. पर्लिन/सिंपलक्स शोर एल्गोरिदम की यादृच्छिकता गुणवत्ता क्या है?
- 22. एक विशेष यादृच्छिक जनरेटर की गैर-यादृच्छिकता को कम करना?
- 23. ज्योथन ने कहा "कक्षा के लिए कोई दृश्य निर्माता नहीं"
- 24. कैसे जावा से चल रहे मल्टीथ्रेडेड ज्योथन स्क्रिप्ट्स?
- 25. ज्योथन 2.5.1: "आयात त्रुटि: ओएस नामित कोई मॉड्यूल"
- 26. क्या ज्योथन से एसडब्ल्यूटी का उपयोग करना संभव है?
- 27. जावास्क्रिप्ट में Math.random के साथ यादृच्छिकता कैसे प्राप्त की जाती है?
- 28. जावा में गैर-यादृच्छिकता के लिए परीक्षण अनुक्रमों के लिए कोई सॉफ्टवेयर है?
- 29. क्या ज्योथन के लिए कोई अच्छा नम्पी क्लोन है?
- 30. पायथन (या वाइस वर्सा) से ज्योथन का आह्वान
कृपया "कुशल" पर विचार करें। –
क्या आपने प्रत्येक के लिए आवश्यक समय मापने की कोशिश की है? –