Flashlizi's blog-专注Flash相关开发
posts - 22, comments - 17, trackbacks - 0, articles - 0
IT博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)
Posted on 2007-09-10 15:24
flashlizi
阅读(735)
评论(6)
编辑
收藏
引用
所属分类:
AS2
最近看了Peter的Javascript的
惰性函数定义模式(Lazy Function Definition)
之后,想测试下as下的这种函数模式的效率是否比一般的模式要高。不了解此函数定义模式的朋友可以看看
这篇文章的翻译
。我做了如下测试:
//
普通函数模式
var num
=
0
;
function test1()
{
return
num
++
;
}
//
惰性函数模式
var test2
=
function ()
{
var num
=
0
;
test2
=
function ()
{
return
num
++
;
}
;
return
num
++
;
}
;
getTime1();
getTime2();
function getTime1()
{
var time
=
getTimer();
for
(var i:Number
=
0
; i
<
1e
+
5
; i
++
)
{
test1();
}
trace(
"
test1调用次数:
"
+
test1());
trace(
"
普通函数模式:
"
+
(getTimer()
-
time));
}
function getTime2()
{
var time
=
getTimer();
for
(var i:Number
=
0
; i
<
1e
+
5
; i
++
)
{
test2();
}
trace(
"
test2调用次数:
"
+
test2());
trace(
"
惰性函数模式:
"
+
(getTimer()
-
time));
}
在我的机器上的测试结果是普通函数模式运行10万次的时间为825ms左右,惰性函数模式则为790ms左右。从效率上来看,2种模式基本差不多,但惰性模式有它的优点:省略了多余的全局变量num,而且可以防止变量num在函数外部被修改,效率方面也有些提升,还是值得使用的。
然而当我想测试as3下是否也这样的时候,却得到了一个惊人结果:普通函数模式运行100万次的时间为110ms左右,惰性函数模式为320ms左右。显然有一个结论是,在as3下,这种惰性函数模式效率比普通模式低了很多,是否要应用这种函数模式就值得商榷了。但是大家看清楚刚才的测试,as2下是10万次而as3下是100万次。。。它们之间的差距我只能用天壤之别来形容了。呵呵,看到这里,是不是让大家更有信心投入到as3的怀抱中呢?
Feedback
#
re: 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)
回复
更多评论
2010-04-22 10:08 by
GenaPadilla
Don't have enough money to buy some real estate? Do not worry, just because that is available to get the <a href="
http://lowest-rate-loans.com">loan</a>
to resolve such kind of problems. Hence take a term loan to buy everything you want.
#
re: 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)
回复
更多评论
2010-05-05 00:30 by
dissertation writing
A PhD degree should be very serious issue for anyone. Who can aid you in dissertation form about this good post making? I will offer to order the dissertation writing in the dissertation writing services. We hope that the proposition would aid students!
#
re: 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)
回复
更多评论
2010-05-05 16:23 by
ibio
不知道 LZ 这里说的惰性函数是不是可以理解成闭包?
如果是闭包的话,我觉得在 AS3 里面一定是不太好的。
1 有内存泄露问题。
2 不利于面向对象。
#
re: 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)
回复
更多评论
2010-07-24 12:05 by
resume writer
Thank you, it's very inspiring article about this good topic it might be very polite for students.
Recently i needed resume writing services. To my adroitest surprise, resume was desirable the price I paid for it.
刷新评论列表
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © flashlizi
日历
<
2009年6月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
公告
因ZF禁止私自开设互动性质网站的原因,本人原来的blog网站:www.flashrek.com无限期暂停。而且虚拟空间访问速度慢,故在此开博,以后所有文章均在此发布。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(20)
AIR(1)
AJAX(5)
AS2(6)
AS3(7)
AS3设计模式(1)
Flex
随笔档案
(22)
2007年12月 (1)
2007年11月 (4)
2007年10月 (1)
2007年9月 (16)
搜索
最新评论
1. re: Input的特殊事件onpopertychange和oninput
事实上是事实是事实飒飒
--发发发发发发发发发发发发发发发发发发发发
2. re: Input的特殊事件onpopertychange和oninput
fefefe
--fefe
3. re: 在firefox中获取网页里的SWF对象
评论内容较长,点击标题查看
--17作业
4. re: AS3设计模式之一:单例模式(Singleton Pattern)
总结的很好,分享到我的博客喽!
--老姜
5. re: 游戏开发者的AS3数据结构
HAO
--GGGG
阅读排行榜
1. Input的特殊事件onpopertychange和oninput(7236)
2. AS3设计模式之一:单例模式(Singleton Pattern)(3644)
3. FlashTail:简单实用的Actionscript调试工具(3133)
4. 游戏开发者的AS3数据结构(3127)
5. 在firefox中获取网页里的SWF对象(3024)
评论排行榜
1. 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)(6)
2. FlashTail:简单实用的Actionscript调试工具(4)
3. AS3设计模式之一:单例模式(Singleton Pattern)(2)
4. Input的特殊事件onpopertychange和oninput(2)
5. AS2:实现动态文本的描边及阴影效果(1)