আমি 1000
এক্স এর দুটি ম্যাট্রিক তৈরি করেছি 1000
:
প্রথম ম্যাট্রিক্স: O
এবং #
।
দ্বিতীয় ম্যাট্রিক্স: O
এবং B
।
নিম্নলিখিত কোড ব্যবহার করে, প্রথম ম্যাট্রিক্সটি শেষ হতে 8.52 সেকেন্ড সময় নিয়েছিল:
Random r = new Random();
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if(r.nextInt(4) == 0) {
System.out.print("O");
} else {
System.out.print("#");
}
}
System.out.println("");
}
এই কোড সহ, দ্বিতীয় ম্যাট্রিক্সটি শেষ হতে 259.152 সেকেন্ড সময় নিয়েছিল:
Random r = new Random();
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if(r.nextInt(4) == 0) {
System.out.print("O");
} else {
System.out.print("B"); //only line changed
}
}
System.out.println("");
}
নাটকীয়ভাবে বিভিন্ন সময় চালানোর পেছনের কারণ কী?
মন্তব্যে যেমন পরামর্শ দেওয়া হয়েছে, মুদ্রণটি কেবল কয়েক সেকেন্ড System.out.print("#");
সময় নেয় 7.8871
, যেখানে System.out.print("B");
দেয় still printing...
।
অন্যরা যারা এটি নির্দেশ করে যে এটি তাদের জন্য সাধারণত কাজ করে, আমি আইডিয়ন ডট কম চেষ্টা করেছি এবং কোডের উভয় অংশই একই গতিতে চালিত হয়েছিল।
পরীক্ষা শর্ত:
- নেটবিন 7.২ থেকে এই কনসোলে আউটপুট নিয়ে আমি এই পরীক্ষাটি চালিয়েছি
- আমি
System.nanoTime()
পরিমাপ জন্য ব্যবহৃত