gpt4 book ai didi

Emacs -- 在 Emacs lisp 中定时执行函数调用

转载 作者:行者123 更新时间:2023-12-04 08:08:19 24 4
gpt4 key购买 nike

我正在寻找一些帮助,请在使用 while 时测量函数调用的时间。循环——即,当函数抛出完成时时钟应该停止。我在邮件列表中发现了以下计时器:http://lists.gnu.org/archive/html/help-gnu-emacs/2008-06/msg00087.html

(defmacro measure-time (&rest body)
"Measure the time it takes to evaluate BODY."
`(let ((time (current-time)))
,@body
(message "%.06f" (float-time (time-since time)))))

它是这样使用的:
(measure-time
(dotimes (i 100000)
(1+ 1)))

如何使用带有 while 的定时器宏的示例循环将不胜感激。我正在寻找从 while 之前开始的总时间当 done 时循环开始到结束被抛出。
(defun test ()
(measure-time)
(catch 'done
(while t
[*** do a bunch of stuff]
(when (condition-satisfied-p)
[*** STOP THE CLOCK AND PRINT TOTAL DURATION ***]
(throw 'done nil) ))))

最佳答案

完全按照你引用的例子。你真的包装了 (measure-time ... )围绕你正在计时的事情。全文catch表达,在你的情况下。

你没试过吗?

关于Emacs -- 在 Emacs lisp 中定时执行函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com