Math_BigInteger
[ class tree: Math_BigInteger ] [ index: Math_BigInteger ] [ all elements ]

Source for file benchmark.php

Documentation is available at benchmark.php

  1. <?php
  2. /*
  3. On a 1.6GHz Pentium M, the following takes about 1.33 seconds with the pure-PHP implementation,
  4. 0.66 seconds with BCmath, and 0.001 seconds with GMP.
  5. */
  6.  
  7. include('../Math/BigInteger.php');
  8. //define('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_INTERNAL);
  9. //define('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_BCMATH);
  10.  
  11. $a '0b078d385e9d05d9e029dc9732e75f94f59fdcfb989fe25e81edcb4f93c1dc53a9bb6ba09b5799bd' .
  12.      'aa9e35cd4e00a8200b720d9c6034da9819a5c84e3c7106fcdf5e64c975221bfd9b606bf924bc2971' .
  13.      'de66c470b88221b419ad32e0bff8fb234cbfa0f99e0909d46855a6751b7660b7178f0a661265ad23' .
  14.      '8433331edb99e0ff';
  15. $b 'a6b9ac382a5f8d394ee83d9e6e21e993c8d240e1';
  16. $c 'aebbcd9a69b5116ce60400b4126c9e84173635abde4bfa56da904e75d752a51a47d3f088f13299a0' .
  17.      '3b6bf66bf77a6accddeb16fc46a8a32164d7fad2ce4bb159e5caeddb40c25ae02c19e7426bd26398' .
  18.      '14d36ead09509031fc423852c33ff0e6d402b2af825acc03ad6ad234eb5d269c17a026bd37c1b6e2' .
  19.      '4c8c7248d09e12ef';
  20.  
  21. $a = new Math_BigInteger($a16);
  22. $b = new Math_BigInteger($b16);
  23. $c = new Math_BigInteger($c16);
  24.  
  25. $start microtime(true);
  26. $d $a->modPow($b$c);
  27. $elapsed microtime(true$start;
  28.  
  29. echo "took $elapsed seconds\r\n";
  30. echo md5($d->toString())// should equal aab326a2511ee857e16ce0cdd3243779

Documentation generated on Mon, 11 Mar 2019 15:56:35 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.