我们正在优化Flex AS3应用程序。
我的一位团队成员建议我们将变量名称长度缩小以优化应用程序性能。
即:
var IsRegionSelected:Boolean = false; //Slower
var IsRS:Boolean = false; //faster
这是真的吗?
答案 0 :(得分:8)
不,您将获得的收益仅为swf的大小。
将字符串放入常量池中,引用此String的指令将使用索引。
可以看作(非常示意性):
常量池:
[0] IsRegionSelected
[1] IsRS
用法:
value at 0 = false
value at 1 = false
您的代码可能会被翻译为(对于本地变量):
push false
setlocal x
push false
setlocal y
其中x and y
是由编译器注册的int int,所以如果它是register 2 or register 4
有关详细信息,请阅读avm specification
答案 1 :(得分:0)
性能提升非常小,但如果您打算稍后再次使用此应用程序,则不值得您理解。在此之前绝对做任何其他优化 - 如果它真的足够慢以至于需要进行优化,那么在变量名称之前肯定还需要先处理其他因素。
在采用1-2毫秒的提升之前,你可以做任何其他事情。
答案 2 :(得分:0)
答案 3 :(得分:0)
我不这么认为,使用变量名的方式确实比它的长度重要。
好的代码应该是一致的。这是否意味着为变量和函数的名称设置规则,采用标准方法,或者只是确保所有代码都以相同的方式缩进,一致性使您的代码更容易被其他人阅读。
应该稍后解释一下你声明的变量名是什么。
var g:String;
var gang:String;
两者都执行相同的操作,一个是更可读的地方,有人通过你的代码也会解释它。
答案 4 :(得分:0)
正如Matchu所说,存在差异,但只有一小部分。
您应该考虑为变量分配有意义的ID,而不是仅仅使用没有意义的简单字符。