Tests:
  • forEach version

    x
     
    // useful for HtmlCollection, NodeList, String types
    function forEach(array, callback, scope){for (var i=0,n=array.length; i<n; i++)callback.call(scope, array[i], i, array);} // passes back stuff we need
    function countVowels(input)
    {
        var vowels = 'aeiou', result = 0;
        forEach( input, function(char){ if (vowels.indexOf(char) != -1) result++; } );
        return result;
    }
    countVowels("goes");
  • regexVersion

     
    function VowelCount(str) { 
        var pattern = /[aeiou]/i;
        var vowelCount = 0;
        for (var i = 0; i < str.length; i++) {
            if (pattern.test(str[i])){
                vowelCount++;
            }
        }
        return vowelCount; 
    }
    VowelCount("goes")
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    forEach version
    regexVersion

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 8 months ago)
Mozilla/5.0 (X11; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0
Firefox 129 on Linux
View result in a separate tab
Test name Executions per second
forEach version 14167874.0 Ops/sec
regexVersion 18621818.0 Ops/sec