1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.handler.codec;
17
18 import io.netty.handler.codec.http.HttpHeaderDateFormat;
19 import org.openjdk.jmh.annotations.Benchmark;
20 import org.openjdk.jmh.annotations.OutputTimeUnit;
21
22 import java.util.Date;
23 import java.util.concurrent.TimeUnit;
24
25 @OutputTimeUnit(TimeUnit.SECONDS)
26 public class DateFormatterBenchmark {
27
28 private static final String DATE_STRING = "Sun, 27 Nov 2016 19:18:46 GMT";
29 private static final Date DATE = new Date(784111777000L);
30
31 @Benchmark
32 public Date parseHttpHeaderDateFormatter() {
33 return DateFormatter.parseHttpDate(DATE_STRING);
34 }
35
36 @Benchmark
37 public Date parseHttpHeaderDateFormat() throws Exception {
38 return HttpHeaderDateFormat.get().parse(DATE_STRING);
39 }
40
41 @Benchmark
42 public String formatHttpHeaderDateFormatter() {
43 return DateFormatter.format(DATE);
44 }
45
46 @Benchmark
47 public String formatHttpHeaderDateFormat() throws Exception {
48 return HttpHeaderDateFormat.get().format(DATE);
49 }
50 }