अंतिम सेमेस्टर हमें स्कूल में पाठ्यक्रम के लिए एक रेट्रेटर विकसित करना पड़ा। स्कूल किया जा रहा है, मैंने इसके साथ थोड़ा सा झुकाव करने की कोशिश की।जावा रेयट्रैसिंग फ्लोट बनाम डबल
मैं देखना चाहता था कि क्या बदल जाएगा यदि मैंने सभी फ्लोटिंग पॉइंट गणनाओं को डबल से फ्लोट (सभी गणनाओं को युगल के साथ किया जा रहा है) में बदल दिया। इसलिए मैंने प्रत्येक वैरिएबल को फ्लोट टाइप करने के लिए बदल दिया, और बस प्रत्येक डबल को गणित विधियों से फ़्लोट करने के लिए वापस कर दिया। कुछ दृश्यों पर मेरे रेट्रेटर का परीक्षण करने से एक सुंदर सभ्य प्रदर्शन में वृद्धि हुई।
वेब के चारों ओर खोजना मुझे विभिन्न कारणों से पता चला कि फ्लोट तेजी से क्यों हो सकता है, लेकिन कुछ यह भी कह रहे हैं कि डबल 64-बिट वातावरण में तेज, या तेज भी हो सकता है। बात यह है कि, मैं 64-बिट वातावरण और जेवीएम में चल रहा हूं। इस बढ़ते प्रदर्शन का कारण क्या होगा?
अब, मैं पीबीआरटी पुस्तक पढ़ रहा हूं और इसके बाद स्क्रैचर से एक रेट्रैसर को फिर से लिखने की योजना बना रहा हूं। सभी फ्लोटिंग पॉइंट गणनाओं के लिए फ्लोट चुनने से कोई समस्या हो सकती है? मैंने अपने परीक्षणों के दौरान किसी को भी ध्यान नहीं दिया, लेकिन शायद कुछ दृश्यों के लिए कम परिशुद्धता हो सकती है (चौराहे परीक्षण ऐसा लगता है जैसे यह एक संभावित समस्या पैदा कर सकता है)? या शायद एक व्यापारिक, महत्वपूर्ण परीक्षणों के लिए डबल का उपयोग करना और कम महत्वपूर्ण गणना के लिए तैरना? कास्टिंग से छुटकारा पाने के लिए मुझे एक और गणित पुस्तकालय का उपयोग करना होगा, क्या मैं फ्लोट रास्ता जा रहा हूं।
मेरा मानना है कि 'डबल डी = 1 डी' दो निर्देश हैं, जबकि' फ्लोट एफ = 1 एफ' एक है। 64 बिट मशीनों पर भी। एक 64 बिट जेवीएम के साथ चारों ओर मेस। – jn1kk
"मैं 64-बिट वातावरण में चल रहा हूं" एक 64-बिट ओएस 64-बिट वातावरण के रूप में नहीं गिना जाता है। आपका कंपाइलर और अन्य टूल्स (जैसे कि जावा आप जावा कर रहे हैं) को भी 64-बिट होना चाहिए। –
संभावित डुप्लिकेट [क्या फ्लोट डबल से धीमा है? 64 बिट प्रोग्राम 32 बिट प्रोग्राम से तेज़ी से चलता है?] (Http://stackoverflow.com/questions/5738448/is-float-slower-than-double-does-64-bit-program-run-faster-than-32 -bit-program) –