1
0
forked from xjboss/KCauldronX

Reduce calls of System.currentTimeMillis() in TickLimiter, close #130

This commit is contained in:
Prototik 2015-08-14 03:15:53 +07:00
parent 043978c113
commit ac8700f8a6
2 changed files with 10 additions and 2 deletions

View File

@ -111,6 +111,7 @@ public class KCauldron {
public static int lookupForgeRevision() {
if (sForgeRevision != 0) return sForgeRevision;
int revision = Integer.parseInt(System.getProperty("kcauldron.forgeRevision", "0"));
if (revision != 0) return sForgeRevision = revision;
try {
Properties p = new Properties();
p.load(KCauldron.class

View File

@ -3,16 +3,23 @@ package org.spigotmc;
public class TickLimiter {
private final int maxTime;
private long startTime;
private int tick;
private boolean shouldContinue;
public TickLimiter(int maxTime) {
this.maxTime = maxTime;
}
public void initTick() {
startTime = System.currentTimeMillis();
tick = 0;
shouldContinue = true;
}
public boolean shouldContinue() {
return System.currentTimeMillis() - startTime < maxTime;
if (++tick >= 300 && !shouldContinue) {
tick = 0;
shouldContinue = System.currentTimeMillis() - startTime < maxTime;
}
return shouldContinue;
}
}