One important difference is that this partitioner doesn't require any sampling to create the range bounds like RangePartitioner does since you're using the reference dictionary information. I suspect it would result in a measurable performance improvement.