AFAIK Proc Rank is CPU-bound, being single-threaded. Then there is also the little-known Proc HPBIN (9.4), which is multi-threaded - even distributed sometimes - thus scalable upon large datasets on multi-core machines. By the way, it would be very interesting to compare different ways of computing deciles or centiles in SAS, taking into account this 'scalability' factor : Procs univariate, stdize, means, rank or HPbin have their pros & cons, I guess. The percentiles bounds are frequently required in banking or financial regulatory analysis (e g stress testing) and not only the lower or upper values (1% 5% 95%, 99% etc.) but also the whole distribution.