哪个更快? trim() 还是正则表达式?
Which is more faster? trim() or RegEx?
假设我们有一个要检查有效性的字符串。
有效字符串是至少有一个非空白符号且未完全空白的字符串。 (我的意思是连续 5 个空格,没有别的)。
我有两种选择来检查字符串有效性:使用 string.trim() 方法或为此使用自定义正则表达式。
我写了一个非常依赖性能的应用程序,其中每一毫秒都可能是一个很高的成本。
所以,问题本身:哪个更快?正则表达式或 string.trim()
测试:
var string = ' fsajdf asdfjosa fjoiawejf oawjfoei jaosdjfsdjfo sfjos 2324234 sdf safjao j o sdlfks dflks l '
string.replace(/^\s+|\s+$|\s+(?=\s)/g, '')
string.trim()
结果:
Function
Result
regex
regex x 1,458,388 ops/sec ±2.11% (62 runs sampled)
trim
trim x 7,530,342 ops/sec ±1.22% (62 runs sampled)
结论:
trim
更快
来源:
https://www.measurethat.net/Benchmarks/Show/4767/0/regex-removing-whitespace-vs-trim
假设我们有一个要检查有效性的字符串。
有效字符串是至少有一个非空白符号且未完全空白的字符串。 (我的意思是连续 5 个空格,没有别的)。
我有两种选择来检查字符串有效性:使用 string.trim() 方法或为此使用自定义正则表达式。
我写了一个非常依赖性能的应用程序,其中每一毫秒都可能是一个很高的成本。
所以,问题本身:哪个更快?正则表达式或 string.trim()
测试:
var string = ' fsajdf asdfjosa fjoiawejf oawjfoei jaosdjfsdjfo sfjos 2324234 sdf safjao j o sdlfks dflks l '
string.replace(/^\s+|\s+$|\s+(?=\s)/g, '')
string.trim()
结果:
Function | Result |
---|---|
regex | regex x 1,458,388 ops/sec ±2.11% (62 runs sampled) |
trim | trim x 7,530,342 ops/sec ±1.22% (62 runs sampled) |
结论:
trim
更快
来源:
https://www.measurethat.net/Benchmarks/Show/4767/0/regex-removing-whitespace-vs-trim