Created
September 30, 2015 00:41
-
-
Save trane/6380aa37d2c5c7983696 to your computer and use it in GitHub Desktop.
some super simple micro benchmarks, only looking for large differences
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
| object SecretEncoder { | |
| import io.circe._ | |
| import io.circe.generic.semiauto._ | |
| /** | |
| * Helper method for creating new [[com.lookout.borderpatrol.sessionx.SecretEncoder SecretEncoder]] instances | |
| */ | |
| def apply[A](f: Secret => A, g: A => Try[Secret]): SecretEncoder[A] = | |
| new SecretEncoder[A] { | |
| def encode(secret: Secret): A = f(secret) | |
| def decode(a: A): Try[Secret] = g(a) | |
| } | |
| /** | |
| * A [[com.lookout.borderpatrol.sessionx.SecretEncoder SecretEncoder]] instance for [[io.circe.Json Json]] | |
| */ | |
| implicit val jsonSecretCoder: SecretEncoder[Json] = SecretEncoder( | |
| s => deriveFor[Secret].encoder.apply(s), | |
| j => deriveFor[Secret].decoder.decodeJson(j).fold[Try[Secret]]( | |
| e => Failure(e), | |
| s => Success(s) | |
| ) | |
| ) | |
| /** | |
| * A [[com.lookout.borderpatrol.sessionx.SecretEncoder SecretEncoder]] instance for [[com.twitter.io.Buf Buf]] | |
| */ | |
| implicit val bufSecretCoder: SecretEncoder[Buf] = SecretEncoder( | |
| s => Buf.ByteArray.Owned(Secret.toBytes(s)), | |
| buf => Secret(Buf.ByteArray.Owned.extract(buf)) | |
| ) | |
| def run[A : SecretEncoder](s: Secret): Boolean = | |
| implicitly[SecretEncoder[A]].decode(implicitly[SecretEncoder[A]].encode(s)).get == s | |
| import org.scalameter.api._ | |
| object SecretBench extends Bench.LocalTime { | |
| val sizes = Gen.range("size")(300000, 1500000, 300000) | |
| val secrets: Gen[Secret] = for { | |
| size <- sizes | |
| } yield Secret() | |
| performance of "serialization" in { | |
| performance of "json" in { | |
| using(secrets) in { | |
| s => run[Json](s) | |
| } | |
| } | |
| performance of "buf" in { | |
| using(secrets) in { | |
| s => run[Buf](s) | |
| } | |
| } | |
| } | |
| } | |
| } | |
| /** | |
| * in sbt... | |
| * | |
| * SecretBench.executeTests | |
| Starting warmup. | |
| 0. warmup run running time: 230.738 (covNoGC: NaN, covGC: NaN) | |
| 1. warmup run running time: 0.512 (covNoGC: 1.4080, covGC: 1.4080) | |
| 2. warmup run running time: 0.625 (covNoGC: 1.7193, covGC: 1.7193) | |
| 3. warmup run running time: 0.558 (covNoGC: 1.9806, covGC: 1.9806) | |
| 4. warmup run running time: 0.52 (covNoGC: 2.2095, covGC: 2.2095) | |
| 5. warmup run running time: 0.547 (covNoGC: 2.4147, covGC: 2.4147) | |
| 6. warmup run running time: 0.542 (covNoGC: 2.6022, covGC: 2.6022) | |
| 7. warmup run running time: 0.438 (covNoGC: 2.7768, covGC: 2.7768) | |
| 8. warmup run running time: 0.387 (covNoGC: 2.9407, covGC: 2.9407) | |
| 9. warmup run running time: 0.498 (covNoGC: 3.0932, covGC: 3.0932) | |
| 10. warmup run running time: 0.365 (covNoGC: 0.1613, covGC: 0.1613) | |
| 11. warmup run running time: 0.509 (covNoGC: 0.1613, covGC: 0.1613) | |
| 12. warmup run running time: 0.473 (covNoGC: 0.1391, covGC: 0.1391) | |
| 13. warmup run running time: 0.473 (covNoGC: 0.1305, covGC: 0.1305) | |
| 14. warmup run running time: 0.502 (covNoGC: 0.1285, covGC: 0.1285) | |
| 15. warmup run running time: 0.516 (covNoGC: 0.1219, covGC: 0.1219) | |
| 16. warmup run running time: 0.485 (covNoGC: 0.1119, covGC: 0.1119) | |
| 17. warmup run running time: 0.432 (covNoGC: 0.1129, covGC: 0.1129) | |
| 18. warmup run running time: 0.398 (covNoGC: 0.1089, covGC: 0.1089) | |
| 19. warmup run running time: 0.416 (covNoGC: 0.1124, covGC: 0.1124) | |
| 20. warmup run running time: 0.447 (covNoGC: 0.0870, covGC: 0.0870) | |
| Steady-state detected. | |
| Ending warmup. | |
| Starting warmup. | |
| 0. warmup run running time: 46.301 (covNoGC: NaN, covGC: NaN) | |
| 1. warmup run running time: 0.108 (covNoGC: 1.4076, covGC: 1.4076) | |
| 2. warmup run running time: 0.083 (covNoGC: 1.7214, covGC: 1.7214) | |
| 3. warmup run running time: 0.069 (covNoGC: 1.9851, covGC: 1.9851) | |
| 4. warmup run running time: 0.069 (covNoGC: 2.2163, covGC: 2.2163) | |
| 5. warmup run running time: 0.08 (covNoGC: 2.4238, covGC: 2.4238) | |
| 6. warmup run running time: 0.127 (covNoGC: 2.6104, covGC: 2.6104) | |
| 7. warmup run running time: 0.07 (covNoGC: 2.7867, covGC: 2.7867) | |
| 8. warmup run running time: 0.079 (covNoGC: 2.9508, covGC: 2.9508) | |
| 9. warmup run running time: 0.068 (covNoGC: 3.1061, covGC: 3.1061) | |
| 10. warmup run running time: 0.068 (covNoGC: 0.2432, covGC: 0.2432) | |
| 11. warmup run running time: 0.087 (covNoGC: 0.2243, covGC: 0.2243) | |
| 12. warmup run running time: 0.077 (covNoGC: 0.2259, covGC: 0.2259) | |
| 13. warmup run running time: 0.067 (covNoGC: 0.2282, covGC: 0.2282) | |
| 14. warmup run running time: 0.066 (covNoGC: 0.2317, covGC: 0.2317) | |
| 15. warmup run running time: 0.066 (covNoGC: 0.2416, covGC: 0.2416) | |
| 16. warmup run running time: 0.066 (covNoGC: 0.1006, covGC: 0.1006) | |
| 17. warmup run running time: 0.067 (covNoGC: 0.1028, covGC: 0.1028) | |
| 18. warmup run running time: 0.078 (covNoGC: 0.1013, covGC: 0.1013) | |
| 19. warmup run running time: 0.066 (covNoGC: 0.1033, covGC: 0.1033) | |
| 20. warmup run running time: 0.066 (covNoGC: 0.1052, covGC: 0.1052) | |
| 21. warmup run running time: 0.066 (covNoGC: 0.0696, covGC: 0.0696) | |
| Steady-state detected. | |
| Ending warmup. | |
| Running test set for serialization.json, curve Test-0 | |
| Starting warmup. | |
| 0. warmup run running time: 0.442 (covNoGC: NaN, covGC: NaN) | |
| 1. warmup run running time: 0.444 (covNoGC: 0.0032, covGC: 0.0032) | |
| 2. warmup run running time: 0.387 (covNoGC: 0.0762, covGC: 0.0762) | |
| 3. warmup run running time: 0.366 (covNoGC: 0.0960, covGC: 0.0960) | |
| 4. warmup run running time: 0.362 (covNoGC: 0.1005, covGC: 0.1005) | |
| 5. warmup run running time: 0.345 (covNoGC: 0.1086, covGC: 0.1086) | |
| 6. warmup run running time: 0.335 (covNoGC: 0.1153, covGC: 0.1153) | |
| 7. warmup run running time: 0.356 (covNoGC: 0.1106, covGC: 0.1106) | |
| 8. warmup run running time: 0.366 (covNoGC: 0.1045, covGC: 0.1045) | |
| 9. warmup run running time: 0.368 (covNoGC: 0.0992, covGC: 0.0992) | |
| Steady-state detected. | |
| Ending warmup. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.454 ms, 0.355 ms, 0.336 ms, 0.345 ms, 0.379 ms, 0.333 ms, 0.348 ms, 0.342 ms, 0.341 ms, 0.343 ms, 0.477 ms, 0.399 ms, 0.335 ms, 0.339 ms, 0.332 ms, 0.332 ms, 0.331 ms, 0.332 ms, 0.331 ms, 0.332 ms, 0.35 ms, 0.415 ms, 0.335 ms, 0.332 ms, 0.342 ms, 0.332 ms, 0.368 ms, 0.339 ms, 0.431 ms, 0.346 ms, 0.346 ms, 0.39 ms, 0.334 ms, 0.333 ms, 0.383 ms, 0.377 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.399 ms, 0.337 ms, 0.335 ms, 0.335 ms, 0.334 ms, 0.334 ms, 0.333 ms, 0.43 ms, 0.349 ms, 0.336 ms, 0.38 ms, 0.419 ms, 0.41 ms, 0.397 ms, 1.718 ms, 0.382 ms, 0.345 ms, 0.337 ms, 0.338 ms, 0.35 ms, 0.338 ms, 0.335 ms, 0.333 ms, 0.392 ms, 0.401 ms, 0.337 ms, 0.325 ms, 0.323 ms, 0.323 ms, 0.323 ms, 0.337 ms, 0.357 ms, 0.428 ms, 0.376 ms, 0.325 ms, 0.328 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.344 ms, 0.485 ms, 0.331 ms, 0.561 ms, 0.331 ms, 0.344 ms, 0.332 ms, 0.375 ms, 0.393 ms, 0.474 ms, 0.382 ms, 0.326 ms, 0.314 ms, 0.313 ms, 0.716 ms, 0.533 ms, 0.347 ms, 0.317 ms, 0.377 ms, 0.519 ms, 0.496 ms, 0.61 ms, 0.535 ms, 0.447 ms, 0.493 ms, 0.506 ms, 0.514 ms, 0.437 ms, 0.559 ms, 0.357 ms, 0.326 ms, 0.362 ms, 0.316 ms, 0.314 ms, 0.353 ms, 0.315 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.321 ms, 0.313 ms, 0.341 ms, 0.314 ms, 0.313 ms, 0.342 ms, 0.642 ms, 0.583 ms, 0.362 ms, 0.345 ms, 0.326 ms, 0.317 ms, 0.315 ms, 0.314 ms, 0.314 ms, 0.411 ms, 0.33 ms, 0.443 ms, 0.44 ms, 1.619 ms, 0.545 ms, 0.474 ms, 0.349 ms, 0.378 ms, 0.318 ms, 0.334 ms, 0.314 ms, 0.312 ms, 0.312 ms, 0.312 ms, 0.312 ms, 0.312 ms, 0.312 ms, 0.326 ms, 0.436 ms, 0.337 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.355 ms, 0.35 ms, 0.318 ms, 0.344 ms, 0.347 ms, 0.315 ms, 0.306 ms, 0.334 ms, 0.366 ms, 0.325 ms, 0.357 ms, 0.384 ms, 0.495 ms, 1.215 ms, 0.524 ms, 0.69 ms, 0.557 ms, 0.318 ms, 0.299 ms, 0.364 ms, 0.304 ms, 0.321 ms, 0.343 ms, 0.344 ms, 0.528 ms, 0.312 ms, 0.355 ms, 0.334 ms, 0.469 ms, 0.496 ms, 0.363 ms, 0.349 ms, 0.376 ms, 0.341 ms, 0.344 ms, 0.515 ms | |
| Repetitions ended. | |
| ::Benchmark serialization.json:: | |
| cores: 8 | |
| hostname: akuhn.local | |
| name: Java HotSpot(TM) 64-Bit Server VM | |
| osArch: x86_64 | |
| osName: Mac OS X | |
| vendor: Oracle Corporation | |
| version: 24.72-b04 | |
| Parameters(size -> 300000): 0.331 | |
| Parameters(size -> 600000): 0.323 | |
| Parameters(size -> 900000): 0.313 | |
| Parameters(size -> 1200000): 0.312 | |
| Parameters(size -> 1500000): 0.299 | |
| Running test set for serialization.buf, curve Test-1 | |
| Starting warmup. | |
| 0. warmup run running time: 0.136 (covNoGC: NaN, covGC: NaN) | |
| 1. warmup run running time: 0.074 (covNoGC: 0.4175, covGC: 0.4175) | |
| 2. warmup run running time: 0.069 (covNoGC: 0.4013, covGC: 0.4013) | |
| 3. warmup run running time: 0.068 (covNoGC: 0.3797, covGC: 0.3797) | |
| 4. warmup run running time: 0.068 (covNoGC: 0.3582, covGC: 0.3582) | |
| 5. warmup run running time: 0.068 (covNoGC: 0.3390, covGC: 0.3390) | |
| 6. warmup run running time: 0.067 (covNoGC: 0.3236, covGC: 0.3236) | |
| 7. warmup run running time: 0.066 (covNoGC: 0.3111, covGC: 0.3111) | |
| 8. warmup run running time: 0.068 (covNoGC: 0.2975, covGC: 0.2975) | |
| 9. warmup run running time: 0.138 (covNoGC: 0.3523, covGC: 0.3523) | |
| 10. warmup run running time: 0.069 (covNoGC: 0.2922, covGC: 0.2922) | |
| 11. warmup run running time: 0.067 (covNoGC: 0.2971, covGC: 0.2971) | |
| 12. warmup run running time: 0.066 (covNoGC: 0.2998, covGC: 0.2998) | |
| 13. warmup run running time: 0.066 (covNoGC: 0.3016, covGC: 0.3016) | |
| 14. warmup run running time: 0.067 (covNoGC: 0.3024, covGC: 0.3024) | |
| 15. warmup run running time: 0.066 (covNoGC: 0.3042, covGC: 0.3042) | |
| 16. warmup run running time: 0.066 (covNoGC: 0.3051, covGC: 0.3051) | |
| 17. warmup run running time: 0.067 (covNoGC: 0.3042, covGC: 0.3042) | |
| 18. warmup run running time: 0.066 (covNoGC: 0.3059, covGC: 0.3059) | |
| 19. warmup run running time: 0.067 (covNoGC: 0.0142, covGC: 0.0142) | |
| Steady-state detected. | |
| Ending warmup. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.136 ms, 0.064 ms, 0.061 ms, 0.068 ms, 0.066 ms, 0.083 ms, 0.091 ms, 0.069 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.07 ms, 0.061 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.059 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.117 ms, 0.092 ms, 0.108 ms, 0.108 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.086 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.07 ms, 0.059 ms, 0.058 ms, 0.058 ms, 0.067 ms, 0.069 ms, 0.08 ms, 0.118 ms, 0.092 ms, 0.061 ms, 0.06 ms, 0.068 ms, 0.057 ms, 0.057 ms, 0.057 ms, 0.079 ms, 0.07 ms, 0.076 ms, 0.07 ms, 0.07 ms, 0.059 ms, 0.059 ms, 0.059 ms, 0.059 ms, 0.058 ms, 0.058 ms, 0.058 ms, 0.058 ms, 0.068 ms, 0.062 ms, 0.06 ms, 0.06 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.065 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.06 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.06 ms, 0.077 ms, 0.111 ms, 0.096 ms, 0.062 ms, 0.071 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.06 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.065 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.065 ms, 0.064 ms, 0.088 ms, 0.093 ms, 0.067 ms, 0.063 ms, 0.061 ms, 0.062 ms, 0.082 ms, 0.082 ms, 0.064 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.06 ms, 0.061 ms, 0.061 ms, 1.294 ms, 0.106 ms, 0.063 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms | |
| Repetitions ended. | |
| 36 repetitions of the snippet starting. | |
| measurements: 0.069 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.06 ms, 0.073 ms, 0.112 ms, 0.084 ms, 0.062 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.061 ms, 0.065 ms, 0.092 ms, 0.067 ms, 0.061 ms, 0.061 ms, 0.07 ms, 0.086 ms, 0.111 ms, 0.065 ms, 0.061 ms, 0.061 ms, 0.06 ms, 0.067 ms, 0.061 ms, 0.061 ms, 0.062 ms | |
| Repetitions ended. | |
| ::Benchmark serialization.buf:: | |
| cores: 8 | |
| hostname: akuhn.local | |
| name: Java HotSpot(TM) 64-Bit Server VM | |
| osArch: x86_64 | |
| osName: Mac OS X | |
| vendor: Oracle Corporation | |
| version: 24.72-b04 | |
| Parameters(size -> 300000): 0.059 | |
| Parameters(size -> 600000): 0.057 | |
| Parameters(size -> 900000): 0.06 | |
| Parameters(size -> 1200000): 0.06 | |
| Parameters(size -> 1500000): 0.06 | |
| */ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment