perf.php 979 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. define('S_MATH_BIGINTEGER_MODE', "bcmath");
  3. require(__DIR__ . "/../lib/BigInteger.php");
  4. use BI\BigInteger;
  5. $a = new BigInteger("4547395333333333333333333333333333333333333343587493875493579375498759837593574935739857");
  6. $b = new BigInteger("-4547395333333333333333333333333333333333333343587493875493579375498759837593574935739857");
  7. $c = new BigInteger("0");
  8. $hex = "eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3";
  9. $bytes = hex2bin($hex);
  10. function test($v, $b) {
  11. $start = microtime(true);
  12. $count = 10000;
  13. for ($i = 0; $i < $count; $i++) {
  14. $v->binaryAnd($b);
  15. //$v->toBytes();
  16. //BigInteger::getBC($v, 256);
  17. }
  18. $end = microtime(true);
  19. error_log($end - $start);
  20. }
  21. test($a, $a);
  22. test($b, $b);
  23. //test($bytes, $b);