forum

Home / DeveloperSection / Forums / Why is printing “B” dramatically slower than printing “#”?

Why is printing “B” dramatically slower than printing “#”?

Anonymous User 1755 04-May-2015
First Matrix: O and #.
Second Matrix: O and B.

Using the following code, the first matrix took 8.52 seconds to complete:

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("");
 }
With this code, the second matrix took 259.152 seconds to complete:

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("");
}
What is the reason behind the dramatically different run times?

As suggested in the comments, printing only System.out.print("#"); takes 7.8871 seconds, whereas System.out.print("B"); gives still printing....

As others who pointed out that it works for them normally, I tried Ideone.com for instance, and both pieces of code execute at the same speed.

Test Conditions:

I ran this test from Netbeans 7.2, with the output into its console
I used System.nanoTime() for measurements

Updated on 05-May-2015
I am a content writter !

Can you answer this question?


Answer

1 Answers

Liked By