Ray Racine noticed:
fx math is unexpectedly slower.
Yes. This is mentioned in the note at the end of
Larceny User Manual section 8.11 [1].
Larceny's GreatPrimOpCleanUp [2] will improve matters
by making the R6RS fx operations run at the same speed
as the generic operations, but the R6RS fx
fx math is unexpectedly slower.
(define times 1)
'std-math
(time
(let ((v (make-vector 2)))
(vector-set! v 1 2)
(do ((n times (- n 1)))
((zero? n) (vector-ref v 1))
(vector-ref v 1
'fx-math
(time
(let ((v (make-vector 2)))
(vector-set! v 1 2)
(do ((n