CL-USER> (defvar *data-vector* (alexandria:shuffle (make-array (* 10 1000 1000) :initial-contents (alexandria:iota (* 10 1000 1000))))) *DATA-VECTOR* CL-USER> (defvar *data-list* (coerce *data-vector* 'list)) *DATA-LIST* CL-USER> (defvar *data-svector* (coerce *data-vector* '(vector (unsigned-byte 32)))) *DATA-SVECTOR* CL-USER> (progn (sb-ext:gc :full t) (time (sort *data-vector* #'<)) (sb-ext:gc :full t) (time (sort *data-list* #'<)) (sb-ext:gc :full t) (time (sort *data-svector* #'<)) nil) Evaluation took: 6.367 seconds of real time 6.370116 seconds of total run time (6.321404 user, 0.048712 system) 100.05% CPU 22,290,379,145 processor cycles 0 bytes consed Evaluation took: 6.247 seconds of real time 6.247222 seconds of total run time (6.199135 user, 0.048087 system) 100.00% CPU 21,862,086,649 processor cycles 64 bytes consed Evaluation took: 15.559 seconds of real time 15.535839 seconds of total run time (15.535600 user, 0.000239 system) 99.85% CPU 54,443,359,190 processor cycles 64 bytes consed