Benchmarking instantiation of proxies
This commit is contained in:
parent
77ce354f18
commit
d658364b59
@ -0,0 +1,40 @@
|
||||
<?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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user