TCL proc调用foreach循环-效率

时间:2018-10-29 07:53:44

标签: list foreach return tcl proc

在我的Tcl代码中,我目前有一个返回Tcl列表的proc。 如图所示,我正在foreach循环中调用此proc

foreach a [get_objects] {
    # ...
}

相对于Tcl,效率如何? 以下样式更好吗?

set my_list [get_objects]
foreach a $my_list {
    # ...
}

仅供参考,列表的长度很大。

1 个答案:

答案 0 :(得分:1)

我相信第一个比较慢。 Tcl没有编译器,由于这个事实,程序只是在没有任何智能内存分配的情况下“流动”。 作为解释的作品,它不能删除$ my_list,因为它不知道下一个代码行,也许会使用该变量。 可能在不知道如何使用Tcl解释器的情况下,第一个选项将释放分配给[get_objects]的内存。由于此操作,将消耗更多时间。