Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा मेथड के लिए निष्पादन समय कैसे मापें?


सामान्य तौर पर, बीता हुआ समय किसी घटना के प्रारंभ बिंदु से अंत बिंदु तक का समय होता है। जावा में मेथड निष्पादन समय ज्ञात करने के विभिन्न तरीके हैं:

  • currentTimeMillis() मेथड वर्तमान समय को मिलीसेकंड में लौटाता है। वांछित मेथड के निष्पादन से पहले और बाद के समय मानों के बीच का अंतर लेकर बीता हुआ समय ज्ञात करें।
  • nanoTime() मेथड वर्तमान समय को नैनोसेकंड में लौटाता है। निष्पादन से पहले और बाद के समय मानों के बीच का अंतर लेकर बीता हुआ समय ज्ञात करें।
  • Instant क्लास का now() मेथड वर्तमान समय लौटाता है और Duration.between() मेथड दिए गए दो समय मानों के बीच का अंतर लौटाता है। निष्पादन से पहले और बाद के समय मान प्राप्त करके Duration.between() का उपयोग करके अवधि प्राप्त करें।
  • Apache Commons लाइब्रेरी Stopwatch क्लास प्रदान करती है जिसमें start(), stop() और getTime() मेथड्स होते हैं। इनका उपयोग करके मेथड निष्पादन समय ज्ञात करें।

उदाहरण

निम्नलिखित उदाहरण दर्शाता है कि उपरोक्त विधियों का उपयोग करके किसी मेथड का निष्पादन समय कैसे ज्ञात करें:

import java.time.Duration; 
import java.time.Instant; 
import org.apache.commons.lang3.time.StopWatch; 
public class Example { 
    public void test(){ 
        int num = 0; 
        for(int i=0; i<=50; i++){ 
            num =num+i; 
            System.out.print(num+", "); 
        } 
    } 
    public static void main(String args[]){ 
        Example obj = new Example(); 
        long start1 = System.nanoTime(); 
        obj.test(); 
        long end1 = System.nanoTime(); 
        System.out.println("नैनो सेकंड में बीता हुआ समय: "+ (end1-start1)); 
        
        long start2 = System.currentTimeMillis(); 
        obj.test(); 
        long end2 = System.currentTimeMillis(); 
        System.out.println("मिली सेकंड में बीता हुआ समय: "+ (end2-start2)); 
        
        Instant inst1 = Instant.now(); 
        obj.test(); 
        Instant inst2 = Instant.now(); 
        System.out.println("बीता हुआ समय: "+ Duration.between(inst1, inst2).toString()); 
        
        StopWatch stopWatch = new StopWatch(); 
        stopWatch.start(); 
        obj.test(); 
        stopWatch.stop(); 
        System.out.println("मिनट में बीता हुआ समय: "+ stopWatch.getTime()); 
    } 
}

आउटपुट

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, 
नैनो सेकंड में बीता हुआ समय: 1882300 
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, 
मिली सेकंड में बीता हुआ समय: 1 
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, 
बीता हुआ समय: PT0.001S 
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, 
मिनट में बीता हुआ समय: 1
  1. जावा में Cucumber के लिए फीचर फाइल कैसे बनाएं? जावा में Cucumber के लिए फीचर फाइल कैसे बनाएं?

    हम Cucumber के लिए एक फीचर फाइल बना सकते हैं। यह नीचे दिए गए चरणों का उपयोग करके किया जा सकता है: चरण 1 - Eclipse में File मेनू पर क्लिक करें। फिर New विकल्प चुनें। अगला Other पर क्लिक करें। चरण 2 - Maven फोल्डर से Maven Project पर क्लिक करें। फिर Next पर क्लिक करें। चरण 3 - आगे के चरणों के साथ आ

  1. Java में रिमोट मेथड के माध्यम से डेटा कैसे भेजें? Java में रिमोट मेथड के माध्यम से डेटा कैसे भेजें?

    RMI (रिमोट मेथड इनवोकेशन) एक JVM में ऑब्जेक्ट को दूसरे JVM में ऑब्जेक्ट के मेथड्स को इनवोक करने की अनुमति देता है। यह java.rmi पैकेज में है।RMI एप्लिकेशन के चरण1. रिमोट इंटरफेस परिभाषित करेंimport java.rmi.Remote; import java.rmi.RemoteException; public interface Hello extends Remote { void pri

  1. जावा में invokeLater() मेथड को कैसे कॉल करें? जावा में invokeLater() मेथड को कैसे कॉल करें?

    invokeLater() मेथड SwingUtilities क्लास का एक स्टैटिक मेथड है और इसका उपयोग AWT इवेंट डिस्पैचर थ्रेड में असिंक्रोनसली कार्य करने के लिए किया जा सकता है। SwingUtilities.invokeLater() मेथड SwingUtilities.invokeAndWait() की तरह काम करता है सिवाय इसके कि यह अनुरोध को इवेंट क्यू पर रखता है और तुरंत वापस