获取/设置功能和内联

时间:2012-01-23 18:28:59

标签: flash actionscript-3 inline

我的问题很简单:
问:与标准功能相比,getset函数的内联概率会增加吗?

如果是这样,有什么东西阻止我将它们用于非预期用途吗? (除了我的代码变得不那么可读。)

2 个答案:

答案 0 :(得分:3)

据我所知,Flash很少会内联任何内容。我几乎肯定它甚至不会发生在getter和setter中,因为你仍然可以通过反射来控制它们(对于内联定义来说这是不可能的)。我肯定不会用它们来提高性能。如果你真的想要那些收益,那就使用Haxe,因为你可以使用Flash运行时使用它进行真正的内联函数定义。 希望这有帮助!

答案 1 :(得分:1)

我不确定这一点,但我希望答案是否定的。闪存中的许多元素都是动态的,而flash编译器因不进行字节码优化而臭名昭着。

实际上我知道使用getter,setter比使用函数调用慢,而且函数调用比直接访问公共变量要慢。

如果你想在动作脚本中内联一个函数,最好的做法是很糟糕:复制当代码。 很明显,在完成所有错误之后,这是优化的最后阶段。

编辑: Joa ebert提供了一个开源字节码优化器,可以对Adobe编译的swfs做出很多改进。 https://github.com/joa/apparat 在那里阅读。在自述文件中滚动自己查看工具。你想要的是TDSI - TurboDeiselSportInjection。这个名字怎么样?