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
一百万个元素应该不会有问题,如果你自己的实现是好的,应该不会有问题生成具有该数据大小的结果。
我已经在 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
一百万个元素应该不会有问题,如果你自己的实现是好的,应该不会有问题生成具有该数据大小的结果。