Treelite 0.30
Major re-factoring of the backend code
- New code generator, based on Abstract Syntax Trees (AST)
- Build AST first
- Iteratively transform AST
- Finally convert AST into C/JAVA program
- Improved abstraction and modularity (no more spaghetti code!)
- It's now much easier to "edit" tree prediction logic: you'd just need to operate on a tree graph. Re-factoring was a worthwhile investment for future research. For instance, we could create a new node type in AST representing an AVX operation. A group of conditional nodes can be converted into the AVX node with equivalent semantics.
- Support for Java: see example at https://github.com/hcho3/treelite-java-example
BREAKING CHANGES
- Prediction library generated by previous versions are NOT compatible with the current version. You will have to run
export_lib()
orcompile()
again.