Benchmarks

View Source

Benchmark

Smoke benchmark run for documentation freshness. Run mix bench locally for stable measurements.

System

Benchmark suite executing on the following system:

Operating System macOS
CPU Information Apple M2
Number of Available Cores 8
Available Memory 8 GB
Elixir Version 1.19.4
Erlang Version 28.4.2

Configuration

Benchmark suite executing with the following configuration:

:time 10 ms
:parallel 1
:warmup 0 ns

Statistics

Run Time

Name IPS Average Deviation Median 99th %
BK.04 schedule expand 12 week business hours 6452.25 0.155 ms ±163.57% 0.120 ms 2.17 ms
BK.08 validate request across 100 hosts 1720.90 0.58 ms ±12.17% 0.56 ms 0.83 ms
BK.15 availability eligible pool request 1698.00 0.59 ms ±13.46% 0.55 ms 0.85 ms
BK.09 decide with assignment and alternatives 1504.78 0.66 ms ±51.70% 0.56 ms 1.89 ms
BK.12 rrule weekly byday 500 occurrences 863.99 1.16 ms ±4.47% 1.16 ms 1.27 ms
BK.11 rrule daily 500 occurrences 844.70 1.18 ms ±97.44% 0.80 ms 4.26 ms
BK.13 ics freebusy 500 periods 538.67 1.86 ms ±25.09% 1.70 ms 2.80 ms
BK.14 jscalendar group 500 events 443.50 2.25 ms ±20.43% 2.04 ms 2.92 ms
BK.01 interval merge 2k intervals 370.80 2.70 ms ±7.31% 2.71 ms 2.91 ms
BK.03 slotting 8 week free interval 188.24 5.31 ms ±12.21% 5.31 ms 5.77 ms
BK.05 availability one host 8 weeks 142.73 7.01 ms ±30.71% 7.01 ms 8.53 ms
BK.06 availability collective 10 hosts 131.00 7.63 ms ±2.70% 7.63 ms 7.78 ms
BK.10 assignment weighted 1k resources 44.61 22.42 ms ±0.00% 22.42 ms 22.42 ms
BK.02 interval subtract 1k busy intervals 7.35 136.14 ms ±0.00% 136.14 ms 136.14 ms
BK.07 availability pool 100 hosts 1.87 535.25 ms ±0.00% 535.25 ms 535.25 ms

Run Time Comparison

Name IPS Slower
BK.04 schedule expand 12 week business hours 6452.25  
BK.08 validate request across 100 hosts 1720.90 3.75x
BK.15 availability eligible pool request 1698.00 3.8x
BK.09 decide with assignment and alternatives 1504.78 4.29x
BK.12 rrule weekly byday 500 occurrences 863.99 7.47x
BK.11 rrule daily 500 occurrences 844.70 7.64x
BK.13 ics freebusy 500 periods 538.67 11.98x
BK.14 jscalendar group 500 events 443.50 14.55x
BK.01 interval merge 2k intervals 370.80 17.4x
BK.03 slotting 8 week free interval 188.24 34.28x
BK.05 availability one host 8 weeks 142.73 45.2x
BK.06 availability collective 10 hosts 131.00 49.25x
BK.10 assignment weighted 1k resources 44.61 144.63x
BK.02 interval subtract 1k busy intervals 7.35 878.41x
BK.07 availability pool 100 hosts 1.87 3453.58x