代码改变世界

随笔档案-2006年12月31日

javascript中字符串连接时用Array.join()替换 string += "xx",换来几十倍的速度提升

2006-12-31 21:38 by 无常, 10413 阅读, 收藏, 编辑
摘要: 下面的二个函数compute1()和compute1(),都是将50000个字符串连接起来, 直接用+=连接耗时17547毫秒, 使用Array.join()耗时234毫秒,比前者快了近75倍! 而且使用+=操作的话,随着循环次数的增加,耗用时间是nn倍的上升,循环30000次时近60秒, 而用Array.join循环50000次才是843毫秒。 javascript的string是固定内存的,每次对字符串的修改操作都会导致重新分配内存,速度当然慢了。 c#中的string也是固定分配内存的,所以在做多字符串连接时一定要记得StringBuilder哦. 阅读全文
点击右上角即可分享
微信分享提示