我有一个非常耗时的Excel宏,其中包含很多输入数据。首先,我将这些数据加载到一个数组中(arr)。
是此代码
for n =1 to 1000000
...
arr(n,1)=arr(n,2)+arr(n,4)*arr(n,78)
...
next n
比这快
for n =1 to 1000000
...
Sensor_Top=arr(n,2)
Age =arr(n,4)
Material =arr(n,78)
output =Sensor_Top+Age*Material
arr(n,1) =output
...
next n
?
换句话说,为了方便阅读,我想包括不必要的变量声明。 VBA是否执行某种JIT编译来处理此问题?
我怀疑编译器是否进行了任何内联或其他类型的优化,但是我可能是错误的(VB6
did具有的优化设置确实... ... [某物)。
也就是说,编写代码以提高可读性和可维护性。如果您的代码太慢,那么瓶颈就不会是您正在使用的变量。]>关于A是否比B快...您有两匹马-比赛!