Friend过程快于Public过程

2016-02-19 19:27 4 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的Friend过程快于Public过程,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

你可能会非常惊奇:Friend类型过程的执行速度要明显快于Public类型。这可以通过创建一个带有Private类和Public类(设定Instancing=MultiUse)的ActiveXEXE工程看到,在2个类模块中添加下面的代码:

PublicSubPublicSub(ByValvalueAsLong)

'

EndSub

PublicFunctionPublicFunction(ByValvalueAsLong)AsLong

'

EndFunction

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

FriendSubFriendSub(ByValvalueAsLong)

'

EndSub

FriendFunctionFriendFunction(ByValvalueAsLong)AsLong

'

EndFunction

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

然后,在表单模块中创建一个循环,执行每个例程许多次。比如,要在一个PentiumII机器上查看执行时间上的区别,可以调用每个例程1,000,000次。下面是测试的结果:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

Private类模块中,反复调用1,000,000次PublicSub或者Function耗费了0.46秒,而调用内容相同的Friend类型模块则分别只有0.05秒和0.06秒。前后竟然相差了8-9倍之多!对于MultiUse类型的Public类模块,也是一样的结果。

对于这个不可思议的结果的可能解释是:Friend型过程没有处理汇集和拆装代码的消耗(Public过程可以从当前工程外被调用,因此COM必须要来回地汇集数据)。

但是在多数情况下,这些时间差别是不明显的,特别是程序中包含一些复杂和耗时的语句时。

即使这样,Friend型过程仍有其他的优势高于Public类型,比如:接受和返回在BAS模块中定义的UDT变量的能力。

->

来源:http://www.tulaoshi.com/n/20160219/1621030.html

延伸阅读
精子在体外存活时间 伴侣生活中时常有体外射精的情况,但是若是不引起注意的话,则会很容易的导致受孕的,所以许多人关心:精子在体外存活时间是多久? 一般来说精子在不同的外界环境存活时间是不一样的,精子体外存活时间也跟外界的环境温度有一定的关系。 精子在体外存活时间一般37℃环境中活动精子存活时间...
怀孕过程对女性朋友来说是非常艰辛的,只有详细的了解这其中的过程细节,以及宝宝发育的过程,和最后分娩生产过程,女性朋友才能做好充足的心理准备,怀孕过程也会更加顺利。 怀孕最初过程 夫妻在进行性生活后,大部分的精子会被排出,但是有小部分精子会从阴道进入到宫颈管、子宫腔,最后到达子宫,在子宫内与卵子结合成受精卵。...
标签: 丰胸
案例分析 图钉提问: 要在南宁做自体脂肪隆胸,自体脂肪隆胸效果好吗,手术过程是怎样的,是一边吸脂一边隆胸吗? 想得到帮助:南宁自体脂肪隆胸手术过程是怎样的? 图老师解答: 病情分析:       你好这个主要市用硅交塞进去       指导意见:      &nb...
标签: 分娩
如果准妈妈打算选择 顺产 分娩,要在孕期注意什么才能增加顺产几率呢?下面小编介绍下增加顺产几率的方法和 顺产全过程 。 一、如何增加顺产几率 1、年龄介于24~28岁间。小于这个年龄段的准妈妈身体各部位组织发育不够成熟,尤其骨盆还没有完全固定成形,对母体和胎儿都不够好;年龄超过的高龄产妇由于骨盆的关节变硬,不易扩...
  LINUX引导过程 首先说明一下,这里讲的是LINUX引导经过的步骤,而不涉及KERNEL引导过程的内部 细节。希望本文能对初学LINUX的朋友有所帮助。 一、从BIOS到KERNEL 计算机在接通电源之后首先由BIOS进行自检,即进行所谓的POST(Power On Self  Test),然后依据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入“引导...

经验教程

340

收藏

96
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部