Detect prime numbers (v10)

Revision 10 of this benchmark created on


Preparation HTML

<script>
  var arr = [
   7, // true
   10, // false
   37, // true
   60, // false
   373, // true
   390, // false
   1427, // true
   1683, // false
   7879, // true
   7881 // false
  ];
  
  // Code taken from http://ejohn.org/apps/learn/ by John Resig
  function isPrime(num) {
   var prime = num != 1; // Everything but 1 can be prime
   for (var i = 2; i < num; i++) {
    if (num % i == 0) {
     prime = false;
     break;
    };
   };
   return prime;
  };
  function ferm(p) {
   if (p - 3 < 0) return true;
   if (p%2 === 0) return false;
   return (Math.pow(4, p - 1) % p) === 1;
  }
  function isPrimeCached(num) {
   if (isPrimeCached.cache[num] !== null) {
    return isPrimeCached.cache[num];
   };
   var prime = num != 1; // Everything but 1 can be prime
   for (var i = 2; i < num; i++) {
    if (num % i == 0) {
     prime = false;
     break;
    };
   };
   isPrimeCached.cache[num] = prime;
   return prime;
  };
  isPrimeCached.cache = {};
  
  // Code by Devon Govett — http://twitter.com/devongovett/status/20019256843, inspired by http://mths.be/ahf
  function isPrimeRegex(n) {
   return Array(n + 1).join('1').search(/^1?$|^(11+?)\1+$/) === -1;
  };
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
isPrime()
var i = arr.length;
while (i--) {
 isPrime(arr[i]);
};
ready
isPrimeCached()
var i = arr.length;
while (i--) {
 isPrimeCached(arr[i]);
};
ready
isPrimeRegex()
var i = arr.length;
while (i--) {
 isPrimeRegex(arr[i]);
};
ready
ferm()
var i = arr.length;
while (i--) {
 ferm(arr[i]);
};
ready

Revisions

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

  • Revision 1: published by Devon Govett on
  • Revision 2: published by Devon Govett on
  • Revision 4: published by Felix Böhm on
  • Revision 7: published by Maxim Zorin on
  • Revision 10: published on
  • Revision 11: published by Sanel Deljkic on