Как лучше всего измерить прошедшее время в Racket? - PullRequest
0 голосов
/ 28 ноября 2018

Ниже приведена моя программа быстрой сортировки в Scheme с использованием Racket, и я хотел бы измерить время этой программы, но я не могу найти способ сделать это.

Я пробовал (time(quicksort(list 1 4 3))), но это не так точно, какЯ ожидал.Есть ли идеальный способ сделать это?

#lang racket

(define (partition compare lst)
  (cond
     ((null? lst) '())
     ((compare (car lst)) (cons (car lst) (partition compare (cdr lst))))
     (else (partition compare (cdr lst)))))

(define (quicksort lst)
  (cond
     ((null? lst) '())
     (else (let ((pivot (car lst)))
        (append (append (quicksort (partition (lambda (x) (< x pivot)) lst))
                   (partition (lambda (x) (= x pivot)) lst))
                (quicksort (partition (lambda (x) (> x pivot)) lst)))))))
...