UuidFieldExtractionBench.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /**
  3. * This file is part of the ramsey/uuid library
  4. *
  5. * For the full copyright and license information, please view the LICENSE
  6. * file that was distributed with this source code.
  7. *
  8. * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
  9. * @license http://opensource.org/licenses/MIT MIT
  10. */
  11. declare(strict_types=1);
  12. namespace Ramsey\Uuid\Benchmark;
  13. use Ramsey\Uuid\Uuid;
  14. use Ramsey\Uuid\UuidInterface;
  15. final class UuidFieldExtractionBench
  16. {
  17. /** @var UuidInterface */
  18. private $uuid;
  19. public function __construct()
  20. {
  21. $this->uuid = Uuid::fromString('0ae0cac5-2a40-465c-99ed-3d331b7cf72a');
  22. }
  23. public function benchGetFields(): void
  24. {
  25. $this->uuid->getFields();
  26. }
  27. public function benchGetFields10Times(): void
  28. {
  29. $this->uuid->getFields();
  30. $this->uuid->getFields();
  31. $this->uuid->getFields();
  32. $this->uuid->getFields();
  33. $this->uuid->getFields();
  34. $this->uuid->getFields();
  35. $this->uuid->getFields();
  36. $this->uuid->getFields();
  37. $this->uuid->getFields();
  38. $this->uuid->getFields();
  39. }
  40. public function benchGetHex(): void
  41. {
  42. $this->uuid->getHex();
  43. }
  44. public function benchGetHex10Times(): void
  45. {
  46. $this->uuid->getHex();
  47. $this->uuid->getHex();
  48. $this->uuid->getHex();
  49. $this->uuid->getHex();
  50. $this->uuid->getHex();
  51. $this->uuid->getHex();
  52. $this->uuid->getHex();
  53. $this->uuid->getHex();
  54. $this->uuid->getHex();
  55. $this->uuid->getHex();
  56. }
  57. public function benchGetInteger(): void
  58. {
  59. $this->uuid->getInteger();
  60. }
  61. public function benchGetInteger10Times(): void
  62. {
  63. $this->uuid->getInteger();
  64. $this->uuid->getInteger();
  65. $this->uuid->getInteger();
  66. $this->uuid->getInteger();
  67. $this->uuid->getInteger();
  68. $this->uuid->getInteger();
  69. $this->uuid->getInteger();
  70. $this->uuid->getInteger();
  71. $this->uuid->getInteger();
  72. $this->uuid->getInteger();
  73. }
  74. }