1

我有很长的 TCL 脚本。我想测量进程在 TCL 中占用的确切 cpu 时间

我在 TCL 中尝试了 time 命令,但我不确定这是测量完整 TCL 脚本所花费的 cpu 时间的正确方法

4

1 回答 1

0

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 包中可能有一些逻辑上相似的东西。

于 2016-09-27T13:27:07.083 回答