1. A method comprising, by one or more computing devices: evaluating a decision tree in interpreted mode; collecting statistics while the decision tree is evaluated in interpreted mode; modifying the decision tree by annotating each decision in the decision tree with instructions determined based on the collected statistics; and generating an executable version of the decision tree suitable for execution by a computing device, the executable version of the decision tree comprising executable code optimized based on the instructions annotating each decision in the decision tree.