引用对象实例变量和属性时With语句的性能影响?

时间:2011-05-09 08:14:16

标签: performance vbscript dereference

您是否知道在访问对象实例的属性和属性时,对象实例的With语句有多大影响? “昂贵”是完全合格的对象引用?

懒得通过基准测试来检查自己,我想在这里问一下;也许某人之前已对此进行过基准测试

我在考虑像

这样的东西
Dim ObjectInstance
Set ObjectInstance=New MyClass

With ObjectInstance
  SomeField=Value
  SomeProperty=Value
End With

Dim ObjectInstance
Set ObjectInstance=New MyClass

ObjectInstance.SomeField=Value
ObjectInstance.SomeProperty=Value

当然,我可能会有数十或数百个任务。如果一个类引用一个带有实例变量的实例,我可能会嵌套With语句。

其他询问方式:

使用With语句取消引用对象实例ONCE是否正确,而完全限定引用需要反复取消引用所有内容?

请注意,我们讨论的是Visual Basic Sc​​ripting Edition,子扇区Visual Basic Sc​​ripting Host,它是一种非常晚期绑定(太晚绑定的?:-))解释器语言。

1 个答案:

答案 0 :(得分:0)

好的,我没有做过精确的测量。但是,我可以看到成百上千个完全合格的作业在我的机器上几乎没有时间,不到十分之一秒,而其他东西需要更长时间。

因此,只要涉及的属性设置器相当简单,我就不会仅出于性能原因创建With语句。

换句话说:计数器示例是QTP测试对象。执行With更有意义,因为测试对象的每一个崇敬都可能导致QTP在AUT GUI中查找GUI对象。在这里,With可能有意义。但是,一旦你需要With,这变得非常明显,因为事情变得非常缓慢。

所以这一切仍然是对规则的承认:

不要过早优化。