The benchmarks are done with JMH framework.
Execute make bench
to run them.
The predictions are performed with the file generated.model
(126 features and 1000 trees) that is generated by Xgboost4jCompatibilySpec
unit test.
The figures below were done with a single thread on a Intel(R) Core(TM) i5-6400
Benchmark Mode Cnt Score Error Units
BenchPredict.predictContrib thrpt 5 6.300 ± 0.006 ops/ms
BenchPredict.predictContribApprox thrpt 5 87.402 ± 11.126 ops/ms
BenchPredict.predict thrpt 5 98.762 ± 1.583 ops/ms
BenchXgboost4j.predict thrpt 5 68.195 ± 4.002 ops/ms
BenchXgboost4j.predictContrib thrpt 5 7.269 ± 1.721 ops/ms
Note that Xgboost4j figures are really fluctuent and seem to depend a lot upon system status (because of JNI?)