Is there anyway to optimize this code since it keeps calling
Code:
System.out.println("[WARNING]: Server load: " + cycle + "%!");
very often
Code:
/**
* Sleeps for the cycle delay.
*
* @ThroWs InterruptedException
*/
private void sleep() {
try {
long sleepTime = cycleRate - cycleTimer.elapsed();
boolean sleep = sleepTime > 0 && sleepTime < 600;
for (int i = 0; i < PacketManager.SIZE; i++) {
Benchmark b = PacketManager.packetBenchmarks[i];
if (!sleep && b.getTime() > 0) {
System.out.println("Packet " + i + "[" + PacketManager.packets[i].getClass().getSimpleName() + "] took " + b.getTime() + " ms.");
}
b.reset();
}
if (sleep) {
Benchmarks.resetAll();
//System.out.println("[ENGINE]: Sleeping for " + sleepTime + "ms");
Thread.sleep(sleepTime);
} else {
// The server has reached maximum load, players may now lag.
long cycle = 100 + ((Math.abs(sleepTime) - cycleRate) / 6);
/*if (cycle > 999) {
initiateRestart();
}*/
System.out.println("[WARNING]: Server load: " + cycle + "%!");
Benchmarks.printAll();
Benchmarks.resetAll();
System.out.println("");
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
cycleTimer.reset();
}
}