Benchmark

Below you’ll find the latest method call costings in running the PerfKit JMH benchmark on the following hardware.

  Model Name:	MacBook Pro
  Model Identifier:	MacBookPro15,1
  Processor Name:	6-Core Intel Core i9
  Processor Speed:	2.9 GHz
  Number of Processors:	1
  Total Number of Cores:	6
  L2 Cache (per Core):	256 KB
  L3 Cache:	12 MB
  Hyper-Threading Technology:	Enabled
  Memory:	32 GB
# JMH version: 1.23
# VM version: JDK 1.8.0_251, Java HotSpot(TM) 64-Bit Server VM, 25.251-b08
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/jre/bin/java
# VM options: -server -Dio.opensignals.services.spi.factory=io.opensignals.services.ext.spi.alpha.ProviderFactory -Dprofile=alpha
# Warmup: 2 iterations, 1 s each
# Measurement: 2 iterations, 2 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op

Benchmark                                         Mode  Cnt   Score    Error  Units
PerfKit.context_service                           avgt    4   5.521 ±  0.607  ns/op
PerfKit.context_subscribe_cancel                  avgt    4  20.473 ±  1.088  ns/op
PerfKit.context_subscribe_class_cancel            avgt    4  20.515 ±  0.211  ns/op
PerfKit.environment_empty_get_boolean             avgt    4   2.629 ±  0.150  ns/op
PerfKit.environment_empty_get_char_seq            avgt    4   2.521 ±  0.143  ns/op
PerfKit.environment_empty_get_double              avgt    4   2.561 ±  0.175  ns/op
PerfKit.environment_empty_get_enum                avgt    4   4.112 ±  0.179  ns/op
PerfKit.environment_empty_get_float               avgt    4   3.008 ±  0.113  ns/op
PerfKit.environment_empty_get_integer             avgt    4   2.538 ±  0.112  ns/op
PerfKit.environment_empty_get_long                avgt    4   2.545 ±  0.115  ns/op
PerfKit.environment_empty_get_name                avgt    4   2.162 ±  1.081  ns/op
PerfKit.environment_empty_get_string              avgt    4   2.474 ±  0.346  ns/op
PerfKit.environment_environment_environment       avgt    4   3.460 ±  0.109  ns/op
PerfKit.environment_environment_name_supplier     avgt    4   7.602 ±  0.216  ns/op
PerfKit.environment_environment_name_value        avgt    4  11.094 ±  0.400  ns/op
PerfKit.environment_single_get_string             avgt    4   3.009 ±  0.180  ns/op
PerfKit.name_chain                                avgt    4  13.967 ±  0.684  ns/op
PerfKit.name_class                                avgt    4   3.651 ±  1.634  ns/op
PerfKit.name_class_string                         avgt    4   8.693 ±  1.086  ns/op
PerfKit.name_enum                                 avgt    4   4.557 ±  0.301  ns/op
PerfKit.name_method                               avgt    4   9.335 ±  0.267  ns/op
PerfKit.name_name                                 avgt    4   5.375 ±  0.373  ns/op
PerfKit.name_name_string_string                   avgt    4  16.445 ±  1.356  ns/op
PerfKit.name_parse                                avgt    4   7.151 ±  0.472  ns/op
PerfKit.name_root                                 avgt    4   5.777 ±  0.189  ns/op
PerfKit.name_string_string_string                 avgt    4  16.476 ± 19.498  ns/op
PerfKit.name_to_string                            avgt    4   2.299 ±  0.155  ns/op
PerfKit.service_emit_start                        avgt    4  13.484 ±  1.296  ns/op
PerfKit.service_emit_succeed                      avgt    4  22.543 ±  1.555  ns/op
PerfKit.service_emit_succeed_with_callback        avgt    4  23.815 ±  0.990  ns/op
PerfKit.service_get_status                        avgt    4   2.250 ±  0.339  ns/op
PerfKit.service_receipt_succeed                   avgt    4  22.654 ±  2.598  ns/op
PerfKit.service_receipt_succeed_with_callback     avgt    4  24.041 ±  3.483  ns/op
PerfKit.service_signal_emit_start                 avgt    4  12.292 ±  8.280  ns/op
PerfKit.service_signal_emit_succeed               avgt    4  23.239 ±  6.221  ns/op
PerfKit.service_start                             avgt    4  15.117 ±  3.640  ns/op
PerfKit.service_start_emit                        avgt    4  15.742 ±  3.217  ns/op
PerfKit.service_succeed                           avgt    4  23.388 ±  1.522  ns/op
PerfKit.service_succeed_emit                      avgt    4  25.184 ±  7.733  ns/op
PerfKit.service_succeed_emit_with_callback        avgt    4  24.294 ±  0.657  ns/op
PerfKit.service_succeed_with_callback             avgt    4  27.273 ±  0.316  ns/op
PerfKit.service_succeeded                         avgt    4  23.485 ±  1.183  ns/op
PerfKit.service_succeeded_with_callback           avgt    4  27.446 ±  1.219  ns/op
PerfKit.services_context_default                  avgt    4   9.558 ±  0.669  ns/op
PerfKit.services_context_environment              avgt    4  81.252 ±  6.177  ns/op
PerfKit.services_environment                      avgt    4   2.083 ±  0.182  ns/op
PerfKit.services_environment_string_value_create  avgt    4   7.420 ±  0.140  ns/op
PerfKit.services_variable_boolean                 avgt    4   3.649 ±  0.119  ns/op
PerfKit.services_variable_char_seq                avgt    4   3.637 ±  0.015  ns/op
PerfKit.services_variable_double                  avgt    4   3.681 ±  0.248  ns/op
PerfKit.services_variable_enum                    avgt    4   5.434 ±  0.111  ns/op
PerfKit.services_variable_float                   avgt    4   3.653 ±  0.068  ns/op
PerfKit.services_variable_integer                 avgt    4   3.675 ±  0.294  ns/op
PerfKit.services_variable_long                    avgt    4   3.631 ±  0.038  ns/op
PerfKit.services_variable_object                  avgt    4   3.647 ±  0.075  ns/op
PerfKit.services_variable_string                  avgt    4   3.653 ±  0.068  ns/op
PerfKit.variable_of_boolean                       avgt    4   2.298 ±  0.122  ns/op
PerfKit.variable_of_char_seq                      avgt    4   2.270 ±  0.247  ns/op
PerfKit.variable_of_double                        avgt    4   2.242 ±  0.123  ns/op
PerfKit.variable_of_enum                          avgt    4   2.247 ±  0.267  ns/op
PerfKit.variable_of_float                         avgt    4   2.258 ±  0.169  ns/op
PerfKit.variable_of_integer                       avgt    4   2.254 ±  0.162  ns/op
PerfKit.variable_of_long                          avgt    4   2.242 ±  0.191  ns/op
PerfKit.variable_of_name                          avgt    4   2.242 ±  0.222  ns/op
PerfKit.variable_of_object                        avgt    4   1.938 ±  0.043  ns/op
PerfKit.variable_of_string                        avgt    4   2.271 ±  0.158  ns/op
# JMH version: 1.23
# VM version: JDK 1.8.0_251, Java HotSpot(TM) 64-Bit Server VM, 25.251-b08
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/jre/bin/java
# VM options: -server -Dio.opensignals.services.spi.factory=io.opensignals.services.ext.spi.alpha.ProviderFactory -Dprofile=alpha
# Warmup: 2 iterations, 1 s each
# Measurement: 2 iterations, 2 s each
# Timeout: 10 min per iteration
# Threads: 2 threads, will synchronize iterations
# Benchmark mode: Average time, time/op

Benchmark                                         Mode  Cnt    Score    Error  Units
PerfKit.service_emit_start                     avgt    4  13.123 ±  1.730  ns/op
PerfKit.service_emit_succeed                   avgt    4  61.932 ± 16.322  ns/op
PerfKit.service_emit_succeed_with_callback     avgt    4  62.860 ± 14.200  ns/op
PerfKit.service_get_status                     avgt    4   2.356 ±  0.380  ns/op
PerfKit.service_receipt_succeed                avgt    4  64.395 ± 11.970  ns/op
PerfKit.service_receipt_succeed_with_callback  avgt    4  61.884 ± 11.141  ns/op
PerfKit.service_signal_emit_start              avgt    4  18.140 ±  1.555  ns/op
PerfKit.service_signal_emit_succeed            avgt    4  67.307 ±  7.151  ns/op
PerfKit.service_start                          avgt    4  15.065 ±  0.522  ns/op
PerfKit.service_start_emit                     avgt    4  18.001 ± 10.507  ns/op
PerfKit.service_succeed                        avgt    4  64.113 ±  9.571  ns/op
PerfKit.service_succeed_emit                   avgt    4  68.208 ± 16.497  ns/op
PerfKit.service_succeed_emit_with_callback     avgt    4  73.954 ± 40.079  ns/op
PerfKit.service_succeed_with_callback          avgt    4  77.223 ± 28.895  ns/op
PerfKit.service_succeeded                      avgt    4  63.246 ±  9.597  ns/op
PerfKit.service_succeeded_with_callback        avgt    4  78.513 ± 10.640  ns/op
# JMH version: 1.23
# VM version: JDK 1.8.0_251, Java HotSpot(TM) 64-Bit Server VM, 25.251-b08
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/jre/bin/java
# VM options: -server -Dio.opensignals.services.spi.factory=io.opensignals.services.ext.spi.alpha.ProviderFactory -Dprofile=alpha
# Warmup: 2 iterations, 1 s each
# Measurement: 2 iterations, 2 s each
# Timeout: 10 min per iteration
# Threads: 4 threads, will synchronize iterations
# Benchmark mode: Average time, time/op

Benchmark                                         Mode  Cnt    Score     Error  Units
PerfKit.service_emit_start                     avgt    4   14.928 ±   1.914  ns/op
PerfKit.service_emit_succeed                   avgt    4  212.501 ± 117.493  ns/op
PerfKit.service_emit_succeed_with_callback     avgt    4  205.159 ±  85.762  ns/op
PerfKit.service_get_status                     avgt    4    2.628 ±   0.184  ns/op
PerfKit.service_receipt_succeed                avgt    4  239.230 ± 260.455  ns/op
PerfKit.service_receipt_succeed_with_callback  avgt    4  209.653 ±  49.647  ns/op
PerfKit.service_signal_emit_start              avgt    4   19.492 ±   1.414  ns/op
PerfKit.service_signal_emit_succeed            avgt    4  207.954 ±  63.805  ns/op
PerfKit.service_start                          avgt    4   16.908 ±   1.471  ns/op
PerfKit.service_start_emit                     avgt    4   18.591 ±  18.045  ns/op
PerfKit.service_succeed                        avgt    4  215.385 ± 170.492  ns/op
PerfKit.service_succeed_emit                   avgt    4  198.017 ±  16.190  ns/op
PerfKit.service_succeed_emit_with_callback     avgt    4  226.452 ±  72.667  ns/op
PerfKit.service_succeed_with_callback          avgt    4  253.008 ± 130.738  ns/op
PerfKit.service_succeeded                      avgt    4  214.451 ±  23.514  ns/op
PerfKit.service_succeeded_with_callback        avgt    4  237.860 ±  73.925  ns/op