我用谷歌搜索,但我没有找到有关SAS中proc sort
幕后算法的信息?例如,在Python中,sort()
使用timsort 。
答案 0 :(得分:2)
正如Stu所观察到的那样,proc sort是封闭源,所以我们能做的最好就是推测。话虽如此,我怀疑排序算法的选择至少取决于以下因素,而不是在所有情况下只使用一种算法:
proc sort
语句中使用的设置 - 尤其是noequals
(请求稍快但不稳定的排序),tagsort
和threads
。sortsize
和memsize
系统选项定义的排序可用内存量。sortpgm
,sortcutp
和其他相关系统选项调用任何第三方排序引擎(例如SyncSort),而不是SAS默认排序引擎。值得注意的是,SAS已经经历了多代计算机硬件,并且排序算法的最佳选择在很大程度上取决于硬件。即使是冒泡排序理论上也可以在足够老的系统上实现最佳。我非常希望SAS能够解决这类问题。