What is the fastest way to sort a simple-array of double-floats in
CMUCL?  Currently I'm using this:

(declaim (optimize (speed 3) (safety 0) (debug 1)))

(declaim (inline df-comp))
(defun df-comp (df1 df2)
  (declare (type double-float df1 df2))
  (< df1 df2))

(defun test-sort (arr)
  (declare (type df-vec arr))
  (sort arr #'df-comp))

This compiles without any notes, but it conses a ton and is about 4x
slower than the equivalent C program that calls qsort.  Given that I'm
sorting lots of arrays with millions of elements, I'd like to speed
this up if possible.  I can always wrap qsort if I have to, but I was
wondering if there was a faster way to do it in CMUCL.

Cheers,

rif


Reply via email to