gpt4 book ai didi

performance - VBA I/O 性能

转载 作者:行者123 更新时间:2023-12-04 03:12:19 24 4
gpt4 key购买 nike

我想知道这两个代码之间是否存在性能差异:

Open strFile For Output As #fNum
For var1 = 1 to UBound(strvar1)
For var2 = 1 to UBound(strvar2)
For var3 = 1 to UBound(strvar3)
For var4 = 1 to UBound(strvar4)
Print #fNum texte
Next var4
Next var3
Next var2
Next var1
Close #fNum

For var1 = 1 to UBound(strvar1)
For var2 = 1 to UBound(strvar2)
For var3 = 1 to UBound(strvar3)
For var4 = 1 to UBound(strvar4)
texteTotal = texteTotal + texte
Next var4
Next var3
Next var2
Next var1

Open strFile For Output As #fNum
Print #fNum texteTotal
Close #fNum

万一循环很大?

最佳答案

您必须尝试一下,因为这取决于 texte 的大小。

每次执行 texteTotal = texteTotal + texte 时,vba 都会生成 textTotal 的新副本。随着 textTotal 变得越来越大,你的循环速度会变慢。

您还面临创建大于 vba 可以处理的字符串的风险。

所以:

如果您正在写入网络驱动器,并且 texte 是单个字符,则第二种方法可能会更好。

如果您正在写入快速本地磁盘,并且 texte 为 64kb,并且每个数组有 1M 条目,则第一种方法会更好。

关于performance - VBA I/O 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135501/

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