I submitted this to SAS tech support (tracking number 7610166978) and got an excellent suggestion from tech support representative Phil Gibbs. The rand('BINOMIAL',p,n) function is much faster than ranbin(seed,n,p). Also, while rand has the same upper bound for n (2**31 - 1) as ranbin, it seems to work for any p between 0 and 1, whereas ranbin doesn't work at the extremes of p. Just note that if you want to control the seeding, you need to use call streaminit(seed).