首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS2优化代码

AS2优化代码
EN

Stack Overflow用户
提问于 2012-10-11 04:13:42
回答 1查看 114关注 0票数 1

我正在尝试在我的代码中实现日志记录机制。我在一些论坛上读到,在AS2中,字符串连接不会在编译时发生,而是在运行时发生。

我想知道以下哪种代码更优:

代码语言:javascript
复制
for (var i:Number = 0; i < n; i++ )
{
    var strToReplace:String = "{" + i + "}";
}

或,

代码语言:javascript
复制
for (var i:Number = 0; i < n; i++ )
{
    var strToReplace:String = "{%s}".split("%s").join(String(i));
}

您的帮助将非常感谢,因为我是一个新手,就AS2而言。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-11 16:41:20

下面是一种简单的测试方法:

代码语言:javascript
复制
var n:Number = 100000;

var beforeTime:Number = getTimer();

for (var i:Number = 0; i < n; i++ ) {
  var strToReplace:String = "{" + i + "}";
}

var betweenTime:Number = getTimer();
trace("between : " + (betweenTime - beforeTime));

for (var i:Number = 0; i < n; i++ ) {
  var strToReplace:String = "{%s}".split("%s").join(String(i));
}

var afterTime:Number = getTimer();
trace("after : " + (afterTime - betweenTime));

我在跟踪中得到了什么:

  • between : 269
  • after : 866

:269

  • after:866

第一种方法快3倍: split和join方法必须在字符串内部搜索才能执行。

如果你的字符串更长,差别就更大:第一个方法的持续时间不会改变……第二个需要更多的时间。你应该试试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12827572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档