/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private final static int ITERATIONS = 1000000;
private final static String THE_STRING
= "A STRING!";
{
long startTime
= System.
nanoTime(); for (int i = 0; i < ITERATIONS; i++) {
noTemp();
}
long endTime
= System.
nanoTime(); long duration = (endTime - startTime);
startTime
= System.
nanoTime(); for (int i = 0; i < ITERATIONS; i++) {
withTemp();
}
long duration2 = (endTime - startTime);
if (duration < duration2) {
System.
out.
println("noTemp() is faster by "+(duration2
- duration
)/1000000d
+" ms."); }
else {
System.
out.
println("withTemp() is faster by "+(duration
- duration2
)/1000000d
+" ms."); }
}
public static void noTemp() {
doSomething(getString());
doSomething(getString());
}
public static void withTemp() {
doSomething(s);
doSomething(s);
}
public static String getString
() { return THE_STRING
; } public static void doSomething
(String s
){}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQoJcHJpdmF0ZSBmaW5hbCBzdGF0aWMgaW50IElURVJBVElPTlMgPSAxMDAwMDAwOwoJcHJpdmF0ZSBmaW5hbCBzdGF0aWMgU3RyaW5nIFRIRV9TVFJJTkcgPSAiQSBTVFJJTkchIjsKCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJbG9uZyBzdGFydFRpbWUgPSBTeXN0ZW0ubmFub1RpbWUoKTsKCQlmb3IgKGludCBpID0gMDsgaSA8IElURVJBVElPTlM7IGkrKykgewoJCQlub1RlbXAoKTsKCQl9CgkJbG9uZyBlbmRUaW1lID0gU3lzdGVtLm5hbm9UaW1lKCk7CgkJbG9uZyBkdXJhdGlvbiA9IChlbmRUaW1lIC0gc3RhcnRUaW1lKTsKCQkKCQlzdGFydFRpbWUgPSBTeXN0ZW0ubmFub1RpbWUoKTsKCQlmb3IgKGludCBpID0gMDsgaSA8IElURVJBVElPTlM7IGkrKykgewoJCQl3aXRoVGVtcCgpOwoJCX0KCQllbmRUaW1lID0gU3lzdGVtLm5hbm9UaW1lKCk7CgkJbG9uZyBkdXJhdGlvbjIgPSAoZW5kVGltZSAtIHN0YXJ0VGltZSk7CgkJCgkJaWYgKGR1cmF0aW9uIDwgZHVyYXRpb24yKSB7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigibm9UZW1wKCkgaXMgZmFzdGVyIGJ5ICIrKGR1cmF0aW9uMiAtIGR1cmF0aW9uKS8xMDAwMDAwZCsiIG1zLiIpOwoJCX0KCQllbHNlIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJ3aXRoVGVtcCgpIGlzIGZhc3RlciBieSAiKyhkdXJhdGlvbiAtIGR1cmF0aW9uMikvMTAwMDAwMGQrIiBtcy4iKTsKCQl9CgkJCgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBub1RlbXAoKSB7CgkJZG9Tb21ldGhpbmcoZ2V0U3RyaW5nKCkpOwoJCWRvU29tZXRoaW5nKGdldFN0cmluZygpKTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIHdpdGhUZW1wKCkgewoJCVN0cmluZyBzID0gZ2V0U3RyaW5nKCk7CgkJZG9Tb21ldGhpbmcocyk7CgkJZG9Tb21ldGhpbmcocyk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGdldFN0cmluZygpIHsgcmV0dXJuIFRIRV9TVFJJTkc7IH0KCXB1YmxpYyBzdGF0aWMgdm9pZCBkb1NvbWV0aGluZyhTdHJpbmcgcyl7fQoJCgkKfQ==