रिलीज़ किया गया: Android 11 (एपीआई लेवल 30)
Android डिवाइस, सिस्टम लोड के आधार पर क्लॉकिंग को डाइनैमिक रूप से बदल सकते हैं. इस सुविधा से, बैटरी की बचत होती है. हालांकि, इससे परफ़ॉर्मेंस का सटीक डेटा पाना मुश्किल हो सकता है. अगर आपको यह पता लगाना है कि रिग्रेशन को रोकने के लिए, कोड का कोई फ़्रैगमेंट कितनी तेज़ी से काम कर सकता है या कोई ऑप्टिमाइज़ेशन दोहराया जा सकता है या नहीं, तो आपके नतीजे भरोसेमंद नहीं होंगे. ऐसा तब होगा, जब उन्हें तय की गई क्लॉक स्पीड पर टेस्ट नहीं किया गया हो. फ़िक्स्ड क्लॉक की मदद से, सीपीयू फ़्रीक्वेंसी में बदलाव किए बिना परफ़ॉर्मेंस का सटीक A/B टेस्ट किया जा सकता है.
फ़िक्स्ड परफ़ॉर्मेंस मोड में, सीपीयू और जीपीयू क्लॉक को ऊपरी और निचली सीमा के साथ सेट किया जाता है. ज़्यादा नए डिवाइसों पर, ऊपरी और निचली सीमा को एक ही पॉइंट पर सेट किया जाएगा. इससे अंतर कम हो जाएगा. सीपीयू/जीपीयू का यह ऑपरेटिंग पॉइंट, डिवाइस के हिसाब से तय होता है. फ़िक्स्ड परफ़ॉर्मेंस मोड में, डिवाइस की परफ़ॉर्मेंस सबसे अच्छी नहीं होती. हालांकि, यह एक बेहतर ऑपरेटिंग पॉइंट है. ऑपरेटिंग पॉइंट को कुछ समय के लिए बनाए रखा जा सकता है. हालांकि, इसे हमेशा के लिए बनाए नहीं रखा जा सकता. ठीक किया गया परफ़ॉर्मेंस मोड, डाइनैमिक परफ़ॉर्मेंस की अन्य सुविधाओं को बंद नहीं करता. जैसे, कोर का चुनाव. इसलिए, हमारा सुझाव है कि आप अपने वर्कलोड को कई बार चलाएं और सिर्फ़ उन रन की तुलना करें जिनमें एक ही कोर का इस्तेमाल किया गया हो.
adb कमांड का इस्तेमाल करके, फ़िक्स्ड परफ़ॉर्मेंस मोड को चालू किया जा सकता है:
adb shell cmd power set-fixed-performance-mode-enabled [true|false]फ़िक्स्ड परफ़ॉर्मेंस मोड में काम करने वाला डिवाइस अब भी ज़्यादा गर्म हो सकता है, क्योंकि इस मोड में डिवाइस को थर्मल थ्रॉटलिंग से नहीं बचाया जाता. इस वजह से, हम बेंचमार्क रन के लिए ये सुझाव देते हैं:
- डिवाइस के सामान्य तापमान पर आने का इंतज़ार करें. इसके बाद ही, रनिंग शुरू करें.
- टेस्टिंग के दौरान डिवाइस के तापमान पर नज़र रखें, ताकि बेंचमार्क कोड और थर्मल इवेंट के असर के बीच अंतर किया जा सके.