Scheme MIT方案-合并排序+;定时执行

Scheme MIT方案-合并排序+;定时执行,scheme,runtime,mergesort,timing,mit-scheme,Scheme,Runtime,Mergesort,Timing,Mit Scheme,我已经在MIT方案中实现了我自己的合并排序。我想用内置的合并排序测试它,并比较时间;但是,我不知道如何获得两者的运行时间。另外,在我测试多达100万个元素时,如何增加堆栈大小/递归深度。MIT方案中有一系列计时程序,请检查。特别是,请尝试以下方法: (with-timings (lambda () (merge-sort '(1 2 3 4 5) >)) (lambda (run-time gc-time real-time) (write (internal-time/t

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

MIT方案中有一系列计时程序,请检查。特别是,请尝试以下方法:

(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
不应该有一百万个元素的问题,如果您自己的实现是一个好的,那么它应该不会有问题,生成这样的数据大小的结果。

谢谢朋友:)仅供参考,自下而上的mergesort不需要递归,可以自然地通过循环实现。谢谢!我可以试着这样做来减少开销