gpt4 book ai didi

tcl - 用于填充 TCL 数组的纯 TCL 与 TCL C API 的性能对比

转载 作者:行者123 更新时间:2023-12-02 17:48:30 26 4
gpt4 key购买 nike

相比之下,使用 TCL C API 读取文件和填充 TCL 数组会快得多吗?对标准 TCL 做同样的事情。我有一个大约 100+MB 的大文件,我需要读取它并设置一些哈希条目。使用 TCL C API 似乎并不能提供最多 2 到 4 倍的速度优势。这是正常现象还是我遗漏了什么?

最佳答案

在这种情况下,您不太可能获得很大的性能提升,因为当您从 C API 设置数组条目时,您将承担如果您只是编写代码会遇到的大部分成本作为 Tcl 在过程中。特别是,您很容易通过使用低效的子 API 获得更差的性能; Tcl 的一些 API 函数不是很快(例如 Tcl_SetVar ),但由于大量现有代码使用它们(以及更快的函数需要更多 C 代码才能使用的事实),它们得以保留。请记住,设置数组元素需要强制哈希表查找,而这些是有实际成本的(尽管事实上 Tcl 使用非常快——如果相当愚蠢——哈希)。

此外,您可以通过使用 Tcl 列表或字典(具体取决于您要存储的内容)获得更好的性能,并且这些的 C API 非常快(特别是对于列表,它们实际上是 Tcl_Obj 引用的 C 数组).我不知道这样做是否适合您的目的。

关于tcl - 用于填充 TCL 数组的纯 TCL 与 TCL C API 的性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11661397/

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