41 lines
959 B
PHP
41 lines
959 B
PHP
<?php
|
|
|
|
namespace Doctrine\Performance\LazyLoading;
|
|
|
|
use Doctrine\Common\Proxy\AbstractProxyFactory;
|
|
use Doctrine\Performance\EntityManagerFactory;
|
|
use Doctrine\Tests\Models\CMS\CmsEmployee;
|
|
use Doctrine\Tests\Models\CMS\CmsUser;
|
|
use PhpBench\Benchmark\Metadata\Annotations\BeforeMethods;
|
|
|
|
/**
|
|
* @BeforeMethods({"init"})
|
|
*/
|
|
final class ProxyInstantiationTimeBench
|
|
{
|
|
/**
|
|
* @var AbstractProxyFactory
|
|
*/
|
|
private $proxyFactory;
|
|
|
|
public function init()
|
|
{
|
|
$this->proxyFactory = EntityManagerFactory::getEntityManager([])->getProxyFactory();
|
|
}
|
|
|
|
public function benchCmsUserInstantiation()
|
|
{
|
|
for ($i = 0; $i < 100000; ++$i) {
|
|
$this->proxyFactory->getProxy(CmsUser::class, ['id' => $i]);
|
|
}
|
|
}
|
|
|
|
public function benchCmsEmployeeInstantiation()
|
|
{
|
|
for ($i = 0; $i < 100000; ++$i) {
|
|
$this->proxyFactory->getProxy(CmsEmployee::class, ['id' => $i]);
|
|
}
|
|
}
|
|
}
|
|
|