7yue's Weblog

Thinking in RIA Solutions...2470,8514,1020的生活演绎

« FMS2及3版本的性能比较瞎想 »

一个问题

一个很Serious的问题,在Action Script 3.0当中,你认为inheritance和composition哪个执行效率高?

  • quote 5.efish
  • http://www.tan66.cn
  • 说的是开发效率还是flashplayer的执行效率?
    论开发,尽量多用composition,少用inheritance。继承最好是在设计原形的时候一次定义妥当,或者在后期有必要有精力重构的时候用。继承就好像照着基类刻新模子,要有基类的样子,还要加上新的部分。组合就好像用现有的各部件模子拼出个东西来,自然要快一些。

    论执行效率,没有测试过。斗胆分析一下:composition在编译的时候,因为import较多,编译的swf文件可能会大一些,在执行脚本的时候可能会有更多的类似堆操作。inheritance相反,类似栈操作多些,因此inheritance执行效率高些。同样用模子作比喻,可能不太恰当。继承的模子一次浇注就出一个模型,加工的比较快。组合的模子需要注意每一个部件的范孔的浇注,自然慢了一些。

    随便说说,没有实证,说的不对的地方望7yue大人海涵。
  • 2008-1-30 22:57:29 回复该留言
  • quote 12.efish
  • http://www.tan66.cn
  • 真是昏了头了,昨晚的代码主要计算量消耗的还是填充正弦和排序数组,ineritance和composition的效率的不同应该主要在与构造初始话的开销。要比较的话要做的复杂一点的用例才行。寒自己一个!
  • 2008-2-1 11:14:54 回复该留言
  • quote 13.朱振恒
  • 支持您的分析。
    虽然感觉action script类继承有些机械,从客户端代码逐条执行角度讲,结构好的代码肯定行数也少很多。
    本人的经验是 Flash在做外部导入(例如用atachMovie从library中取asset时的效率)比使用代码绘制一个同样的asset开销要大。 因此composition各组件分的越多,执行效率应该受影响。
  • 2008-3-20 15:48:23 回复该留言

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 91204

Copyright 2007 www.7yue.com. Some Rights Reserved.
京ICP备05064035号