LightGBM Inferencing Benchmark
Note
The report below has been automatically generated with results from the lightgbm-benchmark repo.
Warning
This is work in progress, to check out current work items check the project open inferencing issues. In particular, do not trust these numbers yet until we've removed this header!
Variants
variant_id | index | framework | version | build | cpu count | num threads | machine | system |
---|---|---|---|---|---|---|---|---|
lightgbm#0 | 0 | lightgbm | PYTHON_API.3.3.0 | default | 16 | 1 | x86_64 | Linux |
lightgbm#1 | 1 | lightgbm | C_API.3.3.0 | default | 16 | 1 | x86_64 | Linux |
lightgbm#2 | 2 | lightgbm | C_API.3.3.0 | docker/lightgbm-custom/v330_patch_cpu_mpi_build.dockerfile | 16 | 1 | x86_64 | Linux |
lightgbm#3 | 3 | lightgbm | C_API.3.2.1 | docker/lightgbm-v3.2.1/linux_cpu_mpi_build.dockerfile | 16 | 1 | x86_64 | Linux |
lightgbm#4 | 4 | lightgbm | C_API.3.2.1 | docker/lightgbm-custom/v321_patch_cpu_mpi_build.dockerfile | 16 | 1 | x86_64 | Linux |
treelite_python#5 | 5 | treelite_python | 1.3.0 | default | 16 | 1 | x86_64 | Linux |
Metric time_inferencing per prediction (usecs)
inferencing task config | lightgbm#0 | lightgbm#1 | lightgbm#2 | lightgbm#3 | lightgbm#4 | treelite_python#5 |
---|---|---|---|---|---|---|
10 trees 31 leaves 10 cols |
6.71442 | 1.27191 | 1.88084 | 1.97014 | 1.50457 | 0.299835 |
10 trees 31 leaves 100 cols |
10.0109 | 1.87281 | 1.89273 | 1.51227 | 1.93901 | 0.465536 |
10 trees 31 leaves 1000 cols |
37.308 | 4.32708 | 4.70362 | 7.06888 | 4.72284 | 2.08173 |
100 trees 31 leaves 10 cols |
18.8272 | 12.7087 | 14.9646 | 10.8278 | 16.6011 | 5.27241 |
100 trees 31 leaves 100 cols |
23.524 | 9.6317 | 11.2825 | 15.0675 | 13.3228 | 7.3904 |
100 trees 31 leaves 1000 cols |
45.8476 | 14.3042 | 18.5159 | 15.6538 | 14.9914 | 7.93605 |
1000 trees 31 leaves 10 cols |
113.854 | 95.4644 | 104.575 | 93.1975 | 107.137 | 28.5369 |
1000 trees 31 leaves 100 cols |
173.506 | 136.601 | 137.953 | 137.349 | 165.446 | 96.1941 |
1000 trees 31 leaves 1000 cols |
178.49 | 143.14 | 143.734 | 146.814 | 149.186 | 98.9669 |
5000 trees 31 leaves 10 cols |
395.046 | 394.296 | 425.493 | 326.193 | 443.607 | 251.199 |
5000 trees 31 leaves 100 cols |
467.79 | 459.998 | 535.714 | 537.431 | 450.346 | 295.183 |
5000 trees 31 leaves 1000 cols |
645.185 | 580.791 | 574.005 | 643.234 | 591.006 | 442.544 |
Percentile metrics for each variant
Some variants above report percentile metrics. Those are reported by computing inferencing latency per request batch (currently, batch size = 1, and number of threads = 1). Not all variants provide those (work in progress).
lightgbm#1
inferencing task config | p50_usecs | p90_usecs | p99_usecs |
---|---|---|---|
10 trees 31 leaves 10 cols |
1.3 | 1.5 | 1.6 |
10 trees 31 leaves 100 cols |
1.8 | 2 | 3.1 |
10 trees 31 leaves 1000 cols |
4.201 | 4.5 | 5.6 |
100 trees 31 leaves 10 cols |
12.6 | 13.8 | 19.1 |
100 trees 31 leaves 100 cols |
9.501 | 10 | 12.802 |
100 trees 31 leaves 1000 cols |
14.301 | 15.601 | 25.001 |
1000 trees 31 leaves 10 cols |
95.1015 | 98.801 | 108.803 |
1000 trees 31 leaves 100 cols |
131.001 | 145.6 | 215.101 |
1000 trees 31 leaves 1000 cols |
142.601 | 145.202 | 157.302 |
5000 trees 31 leaves 10 cols |
383.404 | 430.905 | 584.61 |
5000 trees 31 leaves 100 cols |
448.404 | 504.305 | 633.407 |
5000 trees 31 leaves 1000 cols |
557.003 | 640.203 | 836.145 |
lightgbm#2
inferencing task config | p50_usecs | p90_usecs | p99_usecs |
---|---|---|---|
10 trees 31 leaves 10 cols |
1.8 | 2.1 | 2.601 |
10 trees 31 leaves 100 cols |
1.9 | 2 | 2.10001 |
10 trees 31 leaves 1000 cols |
4.7 | 4.901 | 5.4 |
100 trees 31 leaves 10 cols |
13.7 | 15.4 | 37.204 |
100 trees 31 leaves 100 cols |
10.8 | 12.901 | 17.301 |
100 trees 31 leaves 1000 cols |
17.7 | 19.001 | 31.4 |
1000 trees 31 leaves 10 cols |
104.003 | 108.703 | 122.603 |
1000 trees 31 leaves 100 cols |
132.501 | 149.701 | 221.015 |
1000 trees 31 leaves 1000 cols |
138.702 | 160.802 | 219.107 |
5000 trees 31 leaves 10 cols |
425.024 | 463.626 | 496.927 |
5000 trees 31 leaves 100 cols |
508.705 | 588.917 | 946.39 |
5000 trees 31 leaves 1000 cols |
550.905 | 624.606 | 810.269 |
lightgbm#3
inferencing task config | p50_usecs | p90_usecs | p99_usecs |
---|---|---|---|
10 trees 31 leaves 10 cols |
1.8 | 2.3 | 3.1 |
10 trees 31 leaves 100 cols |
1.5 | 1.6 | 1.9 |
10 trees 31 leaves 1000 cols |
6.3 | 7.2 | 23.901 |
100 trees 31 leaves 10 cols |
10.8 | 11.6 | 12.6 |
100 trees 31 leaves 100 cols |
14.3 | 15.7 | 29.903 |
100 trees 31 leaves 1000 cols |
15.1 | 16.2 | 27.201 |
1000 trees 31 leaves 10 cols |
85.301 | 109.901 | 168.301 |
1000 trees 31 leaves 100 cols |
132.401 | 149.601 | 201.402 |
1000 trees 31 leaves 1000 cols |
146.202 | 148.903 | 161.503 |
5000 trees 31 leaves 10 cols |
312.703 | 354.715 | 505.311 |
5000 trees 31 leaves 100 cols |
537.638 | 582.651 | 608.343 |
5000 trees 31 leaves 1000 cols |
641.307 | 654.907 | 667.409 |
lightgbm#4
inferencing task config | p50_usecs | p90_usecs | p99_usecs |
---|---|---|---|
10 trees 31 leaves 10 cols |
1.3 | 1.7 | 2.7 |
10 trees 31 leaves 100 cols |
1.8 | 2.2 | 2.6 |
10 trees 31 leaves 1000 cols |
4.7 | 4.9 | 5.3 |
100 trees 31 leaves 10 cols |
15.7 | 17.2 | 34.9 |
100 trees 31 leaves 100 cols |
12.201 | 13.501 | 48.706 |
100 trees 31 leaves 1000 cols |
14.901 | 16.101 | 24.701 |
1000 trees 31 leaves 10 cols |
97.301 | 136.401 | 201.902 |
1000 trees 31 leaves 100 cols |
164.901 | 170.101 | 182.801 |
1000 trees 31 leaves 1000 cols |
148.403 | 151.003 | 166.205 |
5000 trees 31 leaves 10 cols |
439.327 | 492.54 | 602.444 |
5000 trees 31 leaves 100 cols |
439.432 | 490.245 | 605.846 |
5000 trees 31 leaves 1000 cols |
571.902 | 640.112 | 827.614 |