cii-text-analysis/vendor/rubix/ml/benchmarks/Kernels/Distance/CanberraBench.php
Jéremy Munsch f68d2ac333
premier poc
2026-02-11 08:24:04 +01:00

50 lines
1 KiB
PHP

<?php
namespace Rubix\ML\Benchmarks\Kernels\Distance;
use Rubix\ML\Datasets\Generators\Blob;
use Rubix\ML\Kernels\Distance\Canberra;
/**
* @Groups({"DistanceKernels"})
* @BeforeMethods({"setUp"})
*/
class CanberraBench
{
protected const NUM_SAMPLES = 10000;
/**
* @var array[]
*/
protected $aSamples;
/**
* @var array[]
*/
protected $bSamples;
/**
* @var \Rubix\ML\Kernels\Distance\Canberra
*/
protected $kernel;
public function setUp() : void
{
$generator = new Blob([0, 0, 0, 0, 0, 0, 0, 0], 5.0);
$this->aSamples = $generator->generate(self::NUM_SAMPLES)->samples();
$this->bSamples = $generator->generate(self::NUM_SAMPLES)->samples();
$this->kernel = new Canberra();
}
/**
* @Subject
* @Iterations(5)
* @OutputTimeUnit("milliseconds", precision=3)
*/
public function compute() : void
{
array_map([$this->kernel, 'compute'], $this->aSamples, $this->bSamples);
}
}