regex vs for loop (v17)

Revision 17 of this benchmark created by Arseniy on


Preparation HTML

<script>
  function isVowelRegEx(char) {
   if (char.length === 1) {
    return /[aeiou]/.test(char);
   }
  }
  
  var vowels = new Array('a', 'e', 'i', 'o', 'u');
  
  function isVowel(char) {
   if (char.length === 1) {
    var len = vowels.length;
    for (var i = 0; i < len; i++) {
     if (vowels[i] === char) {
      return true;
     }
    }
    return false;
   }
  }
  
  var vowelsindex = "aeiou";
  
  function isVowelindex(char) {
   if (char.length === 1) {
    return vowelsindex.indexOf(char) >= 0 ? true : false;
   }
  }

var vowels = ['a', 'e',  'i',  'o',  'u'];
function vowelIndexOfArray(char) {

	if (char.length === 1) {
		if (vowels.indexOf(char) > 0) {
			return true;
		}
	}

	return false;
}

var vowelProps = {'a':true,'e':true,'i':true,'o':true,'u':true};

function vowelProperty(char) {
  return vowelProps[char] || false;
}

function vowelSwitch(char) {
  switch (char) {
    case 'a':
      return true;
    case 'e':
      return true;
    case 'i':
      return true;
    case 'o':
      return true;
    case 'u':
      return true;
    default:
      return false;
  }
}


  function isVowelChars(char) {
    return char === 'a' || char === 'e' || char === 'i' || char === 'o' || char === 'u' || false;
  }    

</script>

Test runner

Ready to run.

Testing in
TestOps/sec
regex
isVowelRegEx('a');
isVowelRegEx('v');
ready
for loop bestcase
isVowel('a');
isVowel('v');
ready
index
isVowelindex('a');
isVowelindex('v');
ready
VowelIndexOfArray
vowelIndexOfArray('a');
vowelIndexOfArray('v');
ready
for loop worstcase
isVowel('u');
isVowel('v');
ready
VowelProp
vowelProperty('u');
vowelProperty('v');
ready
VowelSwitch
vowelSwitch('u');
vowelSwitch('v');
ready
isVowelChars
isVowelChars('u');
isVowelChars('v');
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.