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