Inspite of googling to the best of my ability, unfortunately I am unable to find reasons why lightgbm is fast. The lightgbm documentation explains that the strategy followed is 'Leaf-wise (Best-first) Tree Growth' as against 'Level wise Tree Growth'. I am unable to understand the difference. In so far as I understand, in a decision tree, at every node, before splitting, information gain that would result from each candidate feature is calculated and that feature is selected for the split at that node which will provide maximum information gain at that node. In this paper on lightgbm, (Guolin Ke & others) mention about Gradient-based One-Side Sampling (GOSS). Unfortunately I am unable to understand this also. I am familiar with the concept of information gain in measuring impurity but unable to understand what role gradient plays in it and also what is meant by gradient of a data-point. Is it possible to help in layman's language.