mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-31 12:40:00 +00:00
92 lines
2.2 KiB
PHP
92 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace PhpOffice\PhpSpreadsheetPerformance\Cell;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
|
|
|
class CoordinateBenchmark
|
|
{
|
|
/**
|
|
* @var int
|
|
*/
|
|
protected $columns;
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
protected $rows;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $columnMaxAddress;
|
|
|
|
public function setUp(): void
|
|
{
|
|
$this->columns = 16384; // Xlsx Max Column Index
|
|
$this->rows = 16;
|
|
$this->columnMaxAddress = Coordinate::stringFromColumnIndex($this->columns);
|
|
++$this->columnMaxAddress;
|
|
}
|
|
|
|
/**
|
|
* @Warmup(2)
|
|
* @revs(10)
|
|
* @Iterations(20)
|
|
* @OutputTimeUnit("milliseconds")
|
|
* @BeforeMethods("setUp")
|
|
*/
|
|
public function benchmarkColumnIndexFromString(): void
|
|
{
|
|
for ($column = 'A'; $column !== $this->columnMaxAddress; ++$column) {
|
|
$index = Coordinate::columnIndexFromString($column);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @Warmup(2)
|
|
* @revs(10)
|
|
* @Iterations(20)
|
|
* @OutputTimeUnit("milliseconds")
|
|
* @BeforeMethods("setUp")
|
|
*/
|
|
public function benchmarkStringFromColumnIndex(): void
|
|
{
|
|
for ($column = 1; $column <= $this->columns; ++$column) {
|
|
$index = Coordinate::stringFromColumnIndex($column);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @Warmup(2)
|
|
* @revs(5)
|
|
* @Iterations(10)
|
|
* @OutputTimeUnit("milliseconds")
|
|
* @BeforeMethods("setUp")
|
|
*/
|
|
public function benchmarkCoordinateFromString(): void
|
|
{
|
|
for ($column = 'A'; $column !== $this->columnMaxAddress; ++$column) {
|
|
for ($row = 1; $row <= $this->rows; ++$row) {
|
|
$coordinateArray = Coordinate::coordinateFromString("{$column}{$row}");
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @Warmup(2)
|
|
* @revs(5)
|
|
* @Iterations(10)
|
|
* @OutputTimeUnit("milliseconds")
|
|
* @BeforeMethods("setUp")
|
|
*/
|
|
public function benchmarkIndexesFromString(): void
|
|
{
|
|
for ($column = 'A'; $column !== $this->columnMaxAddress; ++$column) {
|
|
for ($row = 1; $row <= $this->rows; ++$row) {
|
|
$coordinateArray = Coordinate::indexesFromString("{$column}{$row}");
|
|
}
|
|
}
|
|
}
|
|
}
|