Apple CPU की ट्रिक्स - मेमोरी रीऑर्डरिंग, JS सपोर्ट, रेफरेंस काउंटिंग
(threadreaderapp.com)-
काले जादू जैसा दिखने वाला Apple का Intel कोड execution speed मूल रूप से Arm और Intel architecture के संयोजन पर आधारित है
-
दोनों CPU में मूल रूप से "memory ordering" अलग है, इसलिए emulation speed धीमी होती है, लेकिन Apple ने एक समाधान के तौर पर Intel का तरीका भी इसमें जोड़ दिया। x86 कोड चलाते समय इसे Intel की memory ordering का पालन करने के लिए बनाया गया है
-
JavaScript-optimized instructions जोड़कर, और L1 cache को दोगुना करके, web browsing के समय इसे और तेज़ बनाया गया और battery को अधिक समय तक चलने लायक बनाया गया
-
Intel MacBook Air का dual-core तेज़ होने पर 3.8Ghz पर चलता था, और slow mode में 1.2Ghz पर काम करके बिजली बचाता था, लेकिन Intel को downclock में चलने के लिए डिज़ाइन नहीं किया गया था.
Apple ने performance और efficiency के लिए 4-4 processor डालकर optimization किया। low power mode में 4 performance processor बंद हो जाते हैं और सिस्टम सिर्फ efficiency processor से चलता है.
compile जैसे काम करते समय यह 4 processor का पूरा उपयोग करता है, इसलिए यह वास्तव में बहुत तेज़ है.
-
Intel Moore's Law में 3 साल पीछे रह गया। Apple Silicon, TSMC की नवीनतम 5nm process का उपयोग करता है, जबकि Intel 10nm/7nm process का उपयोग करता है, और यहाँ तक कि Intel के कई products इससे भी पुराने 14/10nm process का उपयोग करते हैं.
-
Swift भाषा Android के "garbage collection" की जगह "reference counting" का उपयोग करती है। reference counting की speed को दोगुना करने के लिए Apple ने CPU में कुछ बदलाव किए हैं.
5 टिप्पणियां
ARM चिप्स में JavaScript नाम वाले निर्देश क्यों होते हैं? https://hi.news.hada.io/topic?id=3057
Reference counting garbage collection की बुनियाद है... ये क्या कह रहे हैं... अचानक भरोसेमंदी एकदम...
इससे जुड़ी ऐसी बात भी है।
https://twitter.com/catfish_man/status/1326238434235568128?s=21
कहा जा रहा है कि साधारण
NSObjectको Retain/Release करने की गति ही 5 गुना तेज़ है।लगता है कि reference counting करने वाला instruction भी memory ordering structure के अंतर की वजह से ज़्यादा तेज़ी से काम करता है।
Java में आम तौर पर Reference Counting नहीं, बल्कि Mark-and-Sweep जैसी दूसरी शैली का garbage collection इस्तेमाल किया जाता है।
अरे? ऐसा लगा था.. तो फिर यह मान सकते हैं कि garbage collection भी उतनी ही तेज़ होगी.. हाहा