prime numbers by iterating or sqr-then-iterating

Benchmark created by Dan Heberden on


Preparation HTML

<script>
  function prime( num ) { var check = Math.ceil( num/2 ), reg = /\./; while( --check > 1 ) { if ( !reg.test( num/check+"" ) ) { return false; } } return true; }
  
  function primeSqrIndexOf( num ) { var check = Math.ceil( Math.sqrt(num)+1 ); while( --check > 1 ) { if ( ( num/check+"" ).indexOf('.') === -1 ) { return false; } } return true; }
  
  function primeBest( num ) { var check = Math.ceil( Math.sqrt(num) ); while( --check > 1 ) { if ( ( num/check+"" ).indexOf('.') === -1 ) { return false; } } return true; }
  
  function primeSqr( num ) { var check = Math.ceil( Math.sqrt(num)+1 ), reg = /\./; while( --check > 1 ) { if ( !reg.test( num/check+"" ) ) { return false; } } return true; }
  function primeSqrMod( num ) { for( var check = Math.floor( Math.sqrt( num ) ); check>1; check-- ) if ( num % check ) return false; return true; }
  
  function primeBestEql( num ) { var check = Math.ceil( Math.sqrt(num) ), test; while( --check > 1 ) { test = num/check;  if ( ~~test === test ) { return false; } } return true; }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
prime iterated
prime( 27 );
prime( 29 );
prime( 15877 );
prime( 15878 );
prime( 15871 );
ready
primeSqr
primeSqr( 27 );
primeSqr( 29 );
primeSqr( 15877 );
primeSqr( 15878 );
primeSqr( 15871 );
ready
primeSqrMod
primeSqr( 27 );
primeSqr( 29 );
primeSqr( 15877 );
primeSqr( 15878 );
primeSqr( 15871 );
ready
primeSqrIndexOf
primeSqrIndexOf( 27 );
primeSqrIndexOf( 29 );
primeSqrIndexOf( 15877 );
primeSqrIndexOf( 15878 );
primeSqrIndexOf( 15871 );
ready
primeBest
primeBest( 27 );
primeBest( 29 );
primeBest( 15877 );
primeBest( 15878 );
primeBest( 15871 );
ready
primeBestEql
primeBestEql( 27 );
primeBestEql( 29 );
primeBestEql( 15877 );
primeBestEql( 15878 );
primeBestEql( 15871 );
ready

Revisions

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

  • Revision 1: published by Dan Heberden on