मैं इस कोड का परीक्षण किया जाता है कि Calendar.getInstance().getTimeInMillis()
System.currentTimeMilli()
बनाम है:कैसे बनाने के लिए सुनिश्चित करें कि कोई JVM और संकलक अनुकूलन होता
long before = getTimeInMilli();
for (int i = 0; i < TIMES_TO_ITERATE; i++)
{
long before1 = getTimeInMilli();
doSomeReallyHardWork();
long after1 = getTimeInMilli();
}
long after = getTimeInMilli();
System.out.println(getClass().getSimpleName() + " total is " + (after - before));
मुझे यकीन है कि कोई JVM या संकलक अनुकूलन होता है बनाना चाहते हैं, तो परीक्षण मान्य हो सकता है और होगा वास्तव में अंतर दिखाएगा।
कैसे सुनिश्चित करें?
संपादित करें: मैंने कोड उदाहरण बदल दिया है, इसलिए यह और अधिक स्पष्ट होगा। मैं यहां क्या देख रहा हूं कि विभिन्न कार्यान्वयन में GetTimeInMilli() को कॉल करने में कितना समय लगता है - कैलेंडर बनाम सिस्टम।
धन्यवाद; क्लाउड प्रदर्शन के लिए ओ (1), ओ (एन) और ओ (एन^2) एल्गोरिदम के बीच दक्षता में अंतर दिखाने के लिए जावा को "सटीक" करने के लिए मुझे बस इतना ही आवश्यक था :-) ग्रहण में, आप इसे डाल सकते हैं रन कॉन्फ़िगरेशन/तर्क/वीएम सेटिंग में। –