package kr.debop4j.core.reflect.benchmark; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; /** * kr.debop4j.core.reflect.benchmark.Benchmark * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 13. 1. 21 */ @Slf4j public class Benchmark { public boolean warmup = true; public HashMap<String, Long> runTimes = Maps.newHashMap(); private long s; public void start() { s = System.nanoTime(); } public void end(String name) { if (warmup) return; long e = System.nanoTime(); long time = e - s; Long oldTime = runTimes.get(name); if (oldTime == null || time < oldTime) runTimes.put(name, time); if (log.isDebugEnabled()) log.debug("[{}]: [{}] ms", name, runTimes.get(name) / 1_000_000f); } }