gpt4 book ai didi

forth - 测量执行时间

转载 作者:行者123 更新时间:2023-12-02 09:06:07 25 4
gpt4 key购买 nike

如何测量程序的执行时间?我找到了这个,但它对我不起作用,因为我的程序需要堆栈中的一些数字才能工作,所以我的程序和这个解决方案有点相互干扰(据我所知,因为当我尝试 time: myfunctime: num1 num2 myfunc 没有任何作用....)

: time: ( "word" -- )
utime 2>R ' EXECUTE
utime 2R> D-
<# # # # # # # [CHAR] . HOLD #S #> TYPE ." seconds" ;

谢谢你的帮助

最佳答案

tick ' 将在调用 time: 后立即解析文本。所以对于带参数的调用,它应该是 num1 num2 time: myfunc

此外,tick 将在运行时解析输入流。如果您调用 time: 嵌入在单词定义中,它将尝试从输入流中获取单词的执行 token ,而不是紧跟在 time:< 之后的单词。在编译时使用 ['] 获取下一个单词的 xt,并将该 xt 作为参数传递给 time:

: time ( xt -- )
utime 2>R EXECUTE
utime 2R> D-
<# # # # # # # [CHAR] . HOLD #S #> TYPE ." seconds" ;

: foo 0 1000000 0 do i + loop drop ;

: bar num1 num2 ['] foo time ; \ pass the foo's xt as argument to time

请注意 time 内没有 ' 调用,EXECUTE 将从堆栈中获取 token 。

关于forth - 测量执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58359390/

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