पाठ 13 / 38
प्रोफ़ाइलिंग व बेंचमार्किंग
JDK Flight Recorder व Mission Control से वास्तविक Java परफ़ॉर्मेंस मापें, और nanoTime लूप के बजाय JMH से भरोसेमंद माइक्रो-बेंचमार्क लिखें।
टूल
JFR + JMC कम ओवरहेड प्रोडक्शन प्रोफ़ाइलिंग देते हैं। माइक्रो-बेंचमार्क के लिए JMH उपयोग करें।
एक JMH बेंचमार्क
JMH JIT को warm-up करता है, कई पुनरावृत्ति चलाता है, और हर बेंचमार्क के लिए अलग JVM फ़ोर्क करता है ताकि परिणाम पिछले रन से प्रभावित न हों।
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public int sumLoop() {
int total = 0;
for (int x : data) total += x;
return total;
}