核心观点
本文介绍了 Stata 程序 cache,它允许将任何 Stata 命令的输出缓存到磁盘,从而在未来轻松恢复命令输出,而无需重新计算。cache 程序与任何原生 Stata 或用户编写的命令交互,允许缓存 Stata 命令返回的任何元素,包括矩阵、标量、图形、数据和框架,以及命令输出本身。
功能和优势
cache 可以作为任何原生或用户编写的 Stata 程序的前缀,自动保存所有输出,包括返回列表中的元素、图形、控制台输出以及数据和方法。
- 如果
cache 发现之前已运行的命令,它将重新加载所有必要的元素到返回列表、图形输出、数据和框架,并重新显示原始命令输出。
cache 通过检查用户键入的确切命令以及内存中所有数据的签名来工作。因此,如果命令或用作命令输入的数据(或两者)尚未执行,cache 将运行并缓存命令。否则,如果命令-数据组合之前已缓存,结果将几乎无成本地重新加载。
cache 被编程为尽可能高效地工作,仅保存用户系统上所需的最小元素,以便将来可以加载命令输出而无需重新运行命令。
cache 的主要优势在于减少计算时间和资源消耗,特别是对于计算密集型且运行缓慢的 Stata 命令。
cache 还可以提高 Stata 网络功能的灵活性。通过缓存仅在具有互联网连接时运行的命令(例如 webuse),这些命令稍后即使没有互联网连接也可以运行。
使用场景
cache 适用于 Stata 命令具有高计算复杂性和长运行时间,但可能会多次重新计算的情况。
cache 适用于需要重复运行的计算密集型过程,例如 do 文件中的过程。
cache 不适用于数据量大且数据被修改,但命令本身相对快速运行的情况。
总结
cache 是一个简单易用的程序,可以增加 Stata 代码的效率,并与所有 Stata 命令无缝集成。它可以被视为程序员和分析人员的有用工具,他们希望将提高效率的工具纳入其编码工具箱。