When computing the histogram for the root node split, there is not need to shuffle the binned data with the sample_indices as this array is ordered (np.arange(n_samples)).
Special-casing the histogram computation gives a 10-20% improvements for the root node split which is the also the most expensive node split for a given tree.
When computing the histogram for the root node split, there is not need to shuffle the binned data with the
sample_indices
as this array is ordered (np.arange(n_samples)
).Special-casing the histogram computation gives a 10-20% improvements for the root node split which is the also the most expensive node split for a given tree.