Releases: acalejos/mockingjay
Releases · acalejos/mockingjay
Initial Release
Initial release of Mockingjay features the three Decision Tree compilation algorithms described at https://github.com/microsoft/hummingbird.
Sample benchmarks comparing the EXGBoost native (C) API predictions to the compiled predictions below. **Please note that for this initial release, only the GEMM strategy can be JIT-Compiled with EXLA.jit
-- which leads to very drastic performance improvements.
Operating System: macOS
CPU Information: Apple M1 Max
Number of Available Cores: 10
Available memory: 32 GB
Elixir 1.14.4
Erlang 25.1.2
Benchmark suite executing with the following configuration:
warmup: 5 s
time: 10 s
memory time: 2 s
reduction time: 0 ns
parallel: 1
inputs: none specified
Estimated total run time: 2.27 min
Benchmarking Base ...
Benchmarking Compiled -- GEMM Strategy -- Binary Backend ...
Benchmarking Compiled -- GEMM Strategy -- EXLA Backend ...
Benchmarking Compiled -- GEMM Strategy -- EXLA Backend (JIT) ...
Benchmarking Compiled -- Perfect Tree Traversal Strategy -- Binary Backend ...
Benchmarking Compiled -- Perfect Tree Traversal Strategy -- EXLA Backend ...
Benchmarking Compiled -- Tree Traversal Strategy -- Binary Backend ...
Benchmarking Compiled -- Tree Traversal Strategy -- EXLA Backend ...
Name ips average deviation median 99th %
Compiled -- GEMM Strategy -- EXLA Backend (JIT) 9.62 K 0.104 ms ±6.81% 0.102 ms 0.137 ms
Base 6.24 K 0.160 ms ±23.51% 0.157 ms 0.22 ms
Compiled -- GEMM Strategy -- EXLA Backend 2.84 K 0.35 ms ±41.79% 0.34 ms 0.53 ms
Compiled -- Perfect Tree Traversal Strategy -- EXLA Backend 1.46 K 0.69 ms ±15.53% 0.66 ms 1.04 ms
Compiled -- Tree Traversal Strategy -- EXLA Backend 0.83 K 1.21 ms ±23.84% 1.08 ms 1.89 ms
Compiled -- Perfect Tree Traversal Strategy -- Binary Backend 0.0529 K 18.90 ms ±2.67% 18.81 ms 20.42 ms
Compiled -- GEMM Strategy -- Binary Backend 0.0300 K 33.39 ms ±2.38% 33.27 ms 35.61 ms
Compiled -- Tree Traversal Strategy -- Binary Backend 0.0291 K 34.42 ms ±1.90% 34.33 ms 36.80 ms
Comparison:
Compiled -- GEMM Strategy -- EXLA Backend (JIT) 9.62 K
Base 6.24 K - 1.54x slower +0.0563 ms
Compiled -- GEMM Strategy -- EXLA Backend 2.84 K - 3.39x slower +0.25 ms
Compiled -- Perfect Tree Traversal Strategy -- EXLA Backend 1.46 K - 6.60x slower +0.58 ms
Compiled -- Tree Traversal Strategy -- EXLA Backend 0.83 K - 11.64x slower +1.11 ms
Compiled -- Perfect Tree Traversal Strategy -- Binary Backend 0.0529 K - 181.89x slower +18.80 ms
Compiled -- GEMM Strategy -- Binary Backend 0.0300 K - 321.25x slower +33.28 ms
Compiled -- Tree Traversal Strategy -- Binary Backend 0.0291 K - 331.17x slower +34.31 ms
Memory usage statistics:
Name average deviation median 99th %
Compiled -- GEMM Strategy -- EXLA Backend (JIT) 6.67 KB ±0.00% 6.67 KB 6.67 KB
Base 39.73 KB ±0.00% 39.73 KB 39.73 KB
Compiled -- GEMM Strategy -- EXLA Backend 165.47 KB ±0.00% 165.47 KB 165.47 KB
Compiled -- Perfect Tree Traversal Strategy -- EXLA Backend 438.43 KB ±0.26% 438.09 KB 441.55 KB
Compiled -- Tree Traversal Strategy -- EXLA Backend 656.44 KB ±0.00% 656.44 KB 656.44 KB
Compiled -- Perfect Tree Traversal Strategy -- Binary Backend 39973.56 KB ±0.01% 39973.09 KB 39982.52 KB
Compiled -- GEMM Strategy -- Binary Backend 90790.44 KB ±0.00% 90790.47 KB 90790.47 KB
Compiled -- Tree Traversal Strategy -- Binary Backend 74027.75 KB ±0.00% 74027.75 KB 74027.75 KB
Comparison:
Compiled -- GEMM Strategy -- EXLA Backend (JIT) 6.67 KB
Base 39.73 KB - 5.96x memory usage +33.06 KB
Compiled -- GEMM Strategy -- EXLA Backend 165.47 KB - 24.80x memory usage +158.80 KB
Compiled -- Perfect Tree Traversal Strategy -- EXLA Backend 438.43 KB - 65.71x memory usage +431.75 KB
Compiled -- Tree Traversal Strategy -- EXLA Backend 656.44 KB - 98.39x memory usage +649.77 KB
Compiled -- Perfect Tree Traversal Strategy -- Binary Backend 39973.56 KB - 5991.35x memory usage +39966.89 KB
Compiled -- GEMM Strategy -- Binary Backend 90790.44 KB - 13607.93x memory usage +90783.77 KB
Compiled -- Tree Traversal Strategy -- Binary Backend 74027.75 KB - 11095.49x memory usage +74021.08 KB