siboehm / lleaves

Compiler for LightGBM gradient-boosted trees, based on LLVM. Speeds up prediction by ≥10x.
https://lleaves.readthedocs.io/en/latest/
MIT License
343 stars 29 forks source link

Windows support #18

Open AnotherSamWilson opened 2 years ago

AnotherSamWilson commented 2 years ago

Forgive me, I’m ignorant of compilation nuances on different operating systems. Is windows support on PyPi possible? I see that windows support was removed in a PR about a year ago, but there are no notes.

siboehm commented 2 years ago

Yes, I tried building it for Windows a year ago, but I couldn't get it to run after trying for a few hours. There shouldn't be any major changes necessary, I'd assume it's down to doing a bit of debugging on the build script, and maybe the FFI. llvmlite (the underlying compiler packages) as well as LLVM-project work well on windows.

The main stumbling blocks for me were that I didn't have access to a Windows machine, and that Windows support didn't seem like a super important feature (the predominant usecase for lleaves is fast server-side inference, hence Linux). Both still hold true today, but I'm open for PRs.