测试环境 win7 luaEditor V6.3
local Beg = os.time()
local str = "hello world"
for i = 1, 100000 do --10万
local res = str .. str
end
print(os.time() - Beg) --3s
local Beg = os.time()
local str = "hello world"
for i = 1, 100000 do --10万
local res = string.format("%s%s", str, str)
end
print(os.time() - Beg) --3s
在10W级别 没什么差别 都是3秒
local Beg = os.time()
local str = "hello world"
for i = 1, 1000000 do --100万
local res = str .. str
end
print(os.time() - Beg) --29s
local Beg = os.time()
local str = "hello world"
for i = 1, 1000000 do --100万
local res = string.format("%s%s", str, str)
end
print(os.time() - Beg) --31s
在100W级别 链接符是29秒
string.format 是31秒
在百万级别替换字符串
--local str = "hello world"
local str = "hello world hello world hello world hello world hello world"
结果是
链接依然是29s
string.format 是32秒
结论..连接符比string.format更有效率
建议在代码核心部分 使用连接符
当然10万级别可以不用在意
百万级别需要注意
参考文章: http://blog.csdn.net/q277055799/article/details/11114395
具体原理该文章都有说明 就不做论述了