rewrite the random name selection using a binary search taking into account the name probability distribution
optimized random names selection resulting in significantly faster execution