View Javadoc
1   package org.oxerr.spring.cache.redis.scored.jmh;
2   
3   import org.openjdk.jmh.annotations.Benchmark;
4   import org.openjdk.jmh.annotations.Scope;
5   import org.openjdk.jmh.annotations.State;
6   import org.oxerr.spring.cache.redis.scored.score.resolver.inherited.InheritedScoreResolver;
7   import org.slf4j.Logger;
8   import org.slf4j.LoggerFactory;
9   
10  @State(Scope.Benchmark)
11  public class InheritedScoreResolverBenchmark {
12  
13  	private static final Logger log = LoggerFactory.getLogger(InheritedScoreResolverBenchmark.class);
14  
15  	private final InheritedScoreResolver inheritedScoreResolver;
16  	private final Book book;
17  
18  	public InheritedScoreResolverBenchmark() {
19  		this.inheritedScoreResolver = new InheritedScoreResolver();
20  		this.book = new Book("isbn-1234", "version 1", 1L);
21  	}
22  
23  	@Benchmark
24  	public void testResolveScore() {
25  		this.inheritedScoreResolver.resolveScore(this.book);
26  	}
27  
28  	public static void main(String[] args) {
29  		InheritedScoreResolverBenchmark benchmark = new InheritedScoreResolverBenchmark();
30  
31  		for (int i = 0; i < 100; i++) {
32  			long startTime = System.nanoTime();
33  			// ... the code being measured ...
34  			benchmark.testResolveScore();
35  			long elapsedNanos = System.nanoTime() - startTime;
36  
37  			log.info("Elapsed nanos: {}", elapsedNanos);
38  		}
39  	}
40  
41  }