MIT方案——归并排序+定时执行

MIT Scheme - Merge Sort + Timing Execution

我已经在 MIT Scheme 中实现了我自己的归并排序。我想针对内置 merge-sort 进行测试并比较时间;但是,我不知道如何获得两者的 运行 时间。另外,当我测试多达 100 万个元素时,如何增加堆栈 size/recursion 深度。

MIT Scheme中有一堆计时程序,查看documentation。特别是,试试这个:

(with-timings
 (lambda ()
   (merge-sort '(1 2 3 4 5) >))
 (lambda (run-time gc-time real-time)
   (write (internal-time/ticks->seconds run-time))
   (write-char #\space)
   (write (internal-time/ticks->seconds gc-time))
   (write-char #\space)
   (write (internal-time/ticks->seconds real-time))
   (newline)))

内置的sort一百万个元素应该不会有问题,如果你自己的实现是好的,应该不会有问题生成具有该数据大小的结果。