我有很长的 TCL 脚本。我想测量进程在 TCL 中占用的确切 cpu 时间
我在 TCL 中尝试了 time 命令,但我不确定这是测量完整 TCL 脚本所花费的 cpu 时间的正确方法
我有很长的 TCL 脚本。我想测量进程在 TCL 中占用的确切 cpu 时间
我在 TCL 中尝试了 time 命令,但我不确定这是测量完整 TCL 脚本所花费的 cpu 时间的正确方法
Tcl 本身不提供这些信息。您想使用 TclX 包的times
命令。
package require Tclx
set pre [times]
# do CPU intensive operation here; for example calculating the length of a number with many digits...
string length [expr {13**12345}]
set post [times]
# the current process's non-OS CPU time is the first element; it's in milliseconds
set cpuSecondsTaken [expr {([lindex $post 0] - [lindex $pre 0]) / 1000.0}]
# The other elements are: system-cpu-time, subprocess-user-cpu-time, subprocess-system-time
当然,您依赖于操作系统正确测量此信息。它不能移植到非 POSIX 系统(例如,Windows),尽管在 TWAPI 包中可能有一些逻辑上相似的东西。