Match literals using |RegExp.prototype.test|
This is little faster than |String.prototype.match| in successful cases since return value of |test| is just a boolean, not a special array as with |match|. Speed impact ------------ Before: 130.75 kB/s After: 131.81 kB/s Difference: 0.81% Size impact ----------- Before: 1059811 b After: 1058371 b Difference: -0.14% (Measured by /tools/impact with Node.js v0.4.8 on x86_64 GNU/Linux.)
This commit is contained in:
parent
2d4ee4fb23
commit
2fc877e875
|
@ -747,7 +747,7 @@ PEG.compiler.emitter = function(ast) {
|
|||
}
|
||||
|
||||
return formatCode(
|
||||
"if (input.substr(pos).match(${regexp}) !== null) {",
|
||||
"if (${regexp}.test(input.substr(pos))) {",
|
||||
" ${resultVar} = input.charAt(pos);",
|
||||
" pos++;",
|
||||
"} else {",
|
||||
|
|
|
@ -1123,7 +1123,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
|
||||
if (input.substr(pos).match(/^[^{}]/) !== null) {
|
||||
if (/^[^{}]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
@ -3023,7 +3023,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
|
||||
if (input.substr(pos).match(/^[0-9]/) !== null) {
|
||||
if (/^[0-9]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
@ -3054,7 +3054,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
|
||||
if (input.substr(pos).match(/^[0-9a-fA-F]/) !== null) {
|
||||
if (/^[0-9a-fA-F]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
@ -3112,7 +3112,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
|
||||
if (input.substr(pos).match(/^[a-z]/) !== null) {
|
||||
if (/^[a-z]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
@ -3143,7 +3143,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
|
||||
if (input.substr(pos).match(/^[A-Z]/) !== null) {
|
||||
if (/^[A-Z]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
@ -3571,7 +3571,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
|
||||
if (input.substr(pos).match(/^[\n\r\u2028\u2029]/) !== null) {
|
||||
if (/^[\n\r\u2028\u2029]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
@ -3602,7 +3602,7 @@ PEG.parser = (function(){
|
|||
var pos0;
|
||||
|
||||
reportFailures++;
|
||||
if (input.substr(pos).match(/^[ \xA0\uFEFF\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/) !== null) {
|
||||
if (/^[ \xA0\uFEFF\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/.test(input.substr(pos))) {
|
||||
result0 = input.charAt(pos);
|
||||
pos++;
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue