Quantcast
Channel: Why is printing "B" dramatically slower than printing "#"? - Stack Overflow
Viewing all articles
Browse latest Browse all 4

Why is printing "B" dramatically slower than printing "#"?

$
0
0

I generated two matrices of 1000 x 1000:

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 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

Viewing all articles
Browse latest Browse all 4

Trending Articles





<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>