package io.robe.hibernate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by kamilbukum on 24/01/2017.
*/
@FunctionalInterface
public interface BenchMark {
Logger LOGGER = LoggerFactory.getLogger(BenchMark.class);
void apply();
static void bench(String benchMarkName, int benchCount, BenchMark benchMark){
long benchMillis = 0 ;
LOGGER.info("***** " + benchMarkName + " BENCHMARK *******");
for(int i = 0 ; i < benchCount ; i ++) {
long startMilliSecond = System.currentTimeMillis();
benchMark.apply();
long endMilliSecond = System.currentTimeMillis();
long differenceMillis = (endMilliSecond - startMilliSecond);
benchMillis += differenceMillis;
LOGGER.info(" -> Single Benchs ! -> : " + differenceMillis);
}
LOGGER.info(" -> All BenchMark Total ! -> : " + benchMillis);
LOGGER.info("_______________________________________________");
}
}