Created
March 26, 2015 12:08
-
-
Save orionll/c64ccb5ac1cd91a56112 to your computer and use it in GitHub Desktop.
Arrays.asList().contains() vs Ints.contains
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import java.util.Arrays; | |
| import java.util.concurrent.TimeUnit; | |
| import org.openjdk.jmh.annotations.Benchmark; | |
| import org.openjdk.jmh.annotations.BenchmarkMode; | |
| import org.openjdk.jmh.annotations.Mode; | |
| import org.openjdk.jmh.annotations.OutputTimeUnit; | |
| import com.google.common.primitives.Ints; | |
| @BenchmarkMode(Mode.AverageTime) | |
| @OutputTimeUnit(TimeUnit.NANOSECONDS) | |
| public class MyBenchmark { | |
| @Benchmark | |
| public boolean arraysAsList() { | |
| return Arrays.asList(3, 4).contains(2); | |
| } | |
| @Benchmark | |
| public boolean intsContains() { | |
| return Ints.contains(new int[] { 3, 4 }, 2); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # JMH 1.7 (released 6 days ago) | |
| # VM invoker: C:\Program Files\Java\jdk1.8.0_40\jre\bin\java.exe | |
| # VM options: <none> | |
| # Warmup: 20 iterations, 1 s each | |
| # Measurement: 5 iterations, 1 s each | |
| # Timeout: 10 min per iteration | |
| # Threads: 1 thread, will synchronize iterations | |
| # Benchmark mode: Average time, time/op | |
| # Benchmark: org.dive.MyBenchmark.arraysAsList | |
| # Run progress: 0,00% complete, ETA 00:00:50 | |
| # Fork: 1 of 1 | |
| # Warmup Iteration 1: 7,983 ns/op | |
| # Warmup Iteration 2: 6,856 ns/op | |
| # Warmup Iteration 3: 5,557 ns/op | |
| # Warmup Iteration 4: 6,559 ns/op | |
| # Warmup Iteration 5: 5,438 ns/op | |
| # Warmup Iteration 6: 5,345 ns/op | |
| # Warmup Iteration 7: 5,472 ns/op | |
| # Warmup Iteration 8: 5,286 ns/op | |
| # Warmup Iteration 9: 5,298 ns/op | |
| # Warmup Iteration 10: 5,436 ns/op | |
| # Warmup Iteration 11: 5,869 ns/op | |
| # Warmup Iteration 12: 6,757 ns/op | |
| # Warmup Iteration 13: 6,479 ns/op | |
| # Warmup Iteration 14: 5,591 ns/op | |
| # Warmup Iteration 15: 5,606 ns/op | |
| # Warmup Iteration 16: 5,452 ns/op | |
| # Warmup Iteration 17: 5,585 ns/op | |
| # Warmup Iteration 18: 5,494 ns/op | |
| # Warmup Iteration 19: 5,150 ns/op | |
| # Warmup Iteration 20: 5,210 ns/op | |
| Iteration 1: 5,269 ns/op | |
| Iteration 2: 5,296 ns/op | |
| Iteration 3: 5,438 ns/op | |
| Iteration 4: 5,269 ns/op | |
| Iteration 5: 5,402 ns/op | |
| Result: 5,335 ?(99.9%) 0,306 ns/op [Average] | |
| Statistics: (min, avg, max) = (5,269, 5,335, 5,438), stdev = 0,080 | |
| Confidence interval (99.9%): [5,028, 5,641] | |
| # JMH 1.7 (released 6 days ago) | |
| # VM invoker: C:\Program Files\Java\jdk1.8.0_40\jre\bin\java.exe | |
| # VM options: <none> | |
| # Warmup: 20 iterations, 1 s each | |
| # Measurement: 5 iterations, 1 s each | |
| # Timeout: 10 min per iteration | |
| # Threads: 1 thread, will synchronize iterations | |
| # Benchmark mode: Average time, time/op | |
| # Benchmark: org.dive.MyBenchmark.intsContains | |
| # Run progress: 50,00% complete, ETA 00:00:25 | |
| # Fork: 1 of 1 | |
| # Warmup Iteration 1: 5,195 ns/op | |
| # Warmup Iteration 2: 4,598 ns/op | |
| # Warmup Iteration 3: 3,666 ns/op | |
| # Warmup Iteration 4: 3,574 ns/op | |
| # Warmup Iteration 5: 3,437 ns/op | |
| # Warmup Iteration 6: 3,281 ns/op | |
| # Warmup Iteration 7: 3,338 ns/op | |
| # Warmup Iteration 8: 3,345 ns/op | |
| # Warmup Iteration 9: 3,345 ns/op | |
| # Warmup Iteration 10: 3,258 ns/op | |
| # Warmup Iteration 11: 3,393 ns/op | |
| # Warmup Iteration 12: 3,452 ns/op | |
| # Warmup Iteration 13: 3,319 ns/op | |
| # Warmup Iteration 14: 3,452 ns/op | |
| # Warmup Iteration 15: 3,249 ns/op | |
| # Warmup Iteration 16: 3,308 ns/op | |
| # Warmup Iteration 17: 3,272 ns/op | |
| # Warmup Iteration 18: 3,443 ns/op | |
| # Warmup Iteration 19: 3,280 ns/op | |
| # Warmup Iteration 20: 3,390 ns/op | |
| Iteration 1: 3,283 ns/op | |
| Iteration 2: 3,261 ns/op | |
| Iteration 3: 3,238 ns/op | |
| Iteration 4: 3,281 ns/op | |
| Iteration 5: 3,386 ns/op | |
| Result: 3,290 ?(99.9%) 0,220 ns/op [Average] | |
| Statistics: (min, avg, max) = (3,238, 3,290, 3,386), stdev = 0,057 | |
| Confidence interval (99.9%): [3,070, 3,510] | |
| # Run complete. Total time: 00:00:51 | |
| Benchmark Mode Cnt Score Error Units | |
| MyBenchmark.arraysAsList avgt 5 5,335 ? 0,306 ns/op | |
| MyBenchmark.intsContains avgt 5 3,290 ? 0,220 ns/op |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment