麻省理工学院计划 - 合并排序+计时执行

时间:2017-06-05 08:44:04

标签: scheme runtime mergesort timing mit-scheme

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

1 个答案:

答案 0 :(得分:2)

麻省理工学院计划中有一堆计时程序,请查看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不应该有一百万个元素的问题,如果你自己的实现是一个好的,它不应该有问题产生具有该数据大小的结果。