Rewrite the whole xgboost in rust without any c/c++


I want to rewrite the whole xgboost in rust without any single line of c/c++ code. Because my work asks me to do that. I am not familiar with c++ which xgsboost source code uses, and that is the problem for me. Anyone has any advice for me? Any code or paper, except a scalable tree boosting system?


This is the KDD paper written back in 2016 for XGBoost:

I also wrote a master’s thesis on XGBoost, and it contains a pseudocode for the XGBoost training algorithm:

For a runnable example, see


Thx, Philip. It’s really helpful. I’ll check all of them.


You might also have a look at this high performance Python + Numba implementation of XGBoost: