Tim*_*hle 8 javascript optimization
哪个更快?javascript中的toUpperCase()或toLowerCase()?
Cᴏʀ*_*ᴏʀʏ 14
以下是主要浏览器(几个月前)的一些测试结果.它得出的结论toLowerCase()更快,但对提供的原因没有任何见解.
编辑:
出于好奇,我已经离开并浏览了WebKit JavaScript源代码.在.toUpperCase()与.toLowerCase()原型方法除了一些调用相同.toASCIIUpper(),.toASCIILower()和Unicode::toUpper()和Unicode::toLower().进一步检查前两种方法,我发现该.toLowerCase()函数比.toUpperCase()函数稍微复杂一些.
.toASCIILower() 做一些简单的位移逻辑:
char toASCIILower(char c) {
return c | ((c >= 'A' && c <= 'Z') << 5);
}
Run Code Online (Sandbox Code Playgroud)
.toASCIIUpper() 有点多涉及:
char toASCIIUpper(char c) {
return static_cast<char>(c & ~((c >= 'a' && c <= 'z') << 5));
}
Run Code Online (Sandbox Code Playgroud)
.toASCIIUpper()函数中的静态强制转换和额外的按位求反(〜),重复超过一百万次迭代,可能会导致其较差的性能.
现在,这都是推测性的; 我没有做过真正的测试,也没有尝试完全理解这些方法,但也许其他人可以详细说明.
| 归档时间: |
|
| 查看次数: |
980 次 |
| 最近记录: |