কম্পিউটার টিউটোরিয়াল

জাভাতে অ্যালাপসড/এক্সিকিউশন টাইম ক্যালকুলেট করার পদ্ধতি

সাধারণত অ্যালাপসড টাইম বা এক্সিকিউশন টাইম বলতে একটি ইভেন্টের শুরু থেকে শেষ পর্যন্ত 걸린 সময় বোঝায়। জাভাতে এটি বের করার বিভিন্ন পদ্ধতি নিচে দেওয়া হলো:

  • currentTimeMillis(): বর্তমান সময় মিলিসেকেন্ডে রিটার্ন করে। মেথড এক্সিকিউশনের আগে ও পরে সময় নিয়ে পার্থক্য বের করুন।
  • nanoTime(): বর্তমান সময় ন্যানোসেকেন্ডে রিটার্ন করে। একইভাবে পার্থক্য বের করুন।
  • Instant.now() + Duration.between(): Instant ক্লাসের now() মেথড বর্তমান সময় দেয়, Duration.between() দুটি সময়ের পার্থক্য বের করে।
  • Apache Commons StopWatch: StopWatch ক্লাসে start(), stop(), getTime() মেথড থাকে।
  • Date.getTime(): java.util.Date ক্লাসের getTime() মেথড বর্তমান সময় দেয়।
  • Calendar.getInstance().getTime().getTime(): ক্যালেন্ডার ইনস্ট্যান্স থেকে সময় নেওয়া।

উদাহরণ: currentTimeMillis() ব্যবহার

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[]) {
        long begin = System.currentTimeMillis();
        new Example().test();
        long end = System.currentTimeMillis();
        long time = end - begin;
        System.out.println();
        System.out.println("অ্যালাপসড টাইম: " + time + " মিলি সেকেন্ড");
    }
}

আউটপুট

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,
অ্যালাপসড টাইম: 4 মিলি সেকেন্ড

উদাহরণ: nanoTime() ব্যবহার

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[]) {
        long begin = System.nanoTime();
        new Example().test();
        long end = System.nanoTime();
        long time = end - begin;
        System.out.println();
        System.out.println("অ্যালাপসড টাইম: " + time);
    }
}

আউটপুট

অ্যালাপসড টাইম: 1530200

উদাহরণ: Instant ক্লাস ব্যবহার

import java.time.Duration;
import java.time.Instant;

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[]) {
        Instant start = Instant.now();
        new Example().test();
        Instant end = Instant.now();
        long time = Duration.between(start, end).toMillis();
        System.out.println();
        System.out.println(time + " মিলি সেকেন্ড");
    }
}

আউটপুট

3 মিলি সেকেন্ড

উদাহরণ: StopWatch ক্লাস ব্যবহার (Apache Commons Lang)

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[]) {
        StopWatch obj = new StopWatch();
        obj.start();
        new Example().test();
        obj.stop();
        System.out.println();
        System.out.println("অ্যালাপসড টাইম: " + obj.getTime() + " মিলি সেকেন্ড");
    }
}

আউটপুট

অ্যালাপসড টাইম: 1 মিলি সেকেন্ড

উদাহরণ: Date.getTime() ব্যবহার

import java.util.Date;

public class Demo {
    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) {
        long startTime = new Date().getTime();
        new Demo().test();
        long endTime = new Date().getTime();
        long time = endTime - startTime;
        System.out.println("এক্সিকিউশন টাইম: " + time);
    }
}

আউটপুট

এক্সিকিউশন টাইম: 5

উদাহরণ: Calendar ক্লাস ব্যবহার

import java.util.Calendar;

public class Demo {
    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) throws InterruptedException {
        long startTime = Calendar.getInstance().getTime().getTime();
        new Demo().test();
        long endTime = Calendar.getInstance().getTime().getTime();
        long time = endTime - startTime;
        System.out.println("এক্সিকিউশন টাইম: " + time);
    }
}

আউটপুট

এক্সিকিউশন টাইম: 20
  1. OpenCV-এ C++ ব্যবহার করে बीती हुई সময় গণনা করা

  2. জাভাতে RMI (Remote Method Invocation) ব্যবহার করে রিমোট মেথড কল করা

  3. জাভাতে invokeLater() মেথড কল করার পদ্ধতি

  4. এক্সেলে টাইম ডিফারেন্স ক্যালকুলেট করার পদ্ধতি