From ef0edc892935e8dd2eced5443a3aca9bc7b2b5e8 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 26 May 2016 21:45:23 +0200 Subject: [PATCH] Benchmarking simple insert operations (batched) --- .../Hydration/SimpleInsertPerformanceTest.php | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/Doctrine/Performance/Hydration/SimpleInsertPerformanceTest.php diff --git a/tests/Doctrine/Performance/Hydration/SimpleInsertPerformanceTest.php b/tests/Doctrine/Performance/Hydration/SimpleInsertPerformanceTest.php new file mode 100644 index 000000000..48ec971ca --- /dev/null +++ b/tests/Doctrine/Performance/Hydration/SimpleInsertPerformanceTest.php @@ -0,0 +1,54 @@ +entityManager = EntityManagerFactory::getEntityManager([ + CMS\CmsUser::class, + CMS\CmsPhonenumber::class, + CMS\CmsAddress::class, + CMS\CmsEmail::class, + CMS\CmsGroup::class, + CMS\CmsTag::class, + CMS\CmsArticle::class, + CMS\CmsComment::class, + ]); + } + + public function benchHydration() + { + $batchSize = 20; + + for ($i = 1; $i <= 10000; ++$i) { + $user = new CMS\CmsUser; + $user->status = 'user'; + $user->username = 'user' . $i; + $user->name = 'Mr.Smith-' . $i; + + $this->entityManager->persist($user); + + if (! ($i % $batchSize)) { + $this->entityManager->flush(); + $this->entityManager->clear(); + } + } + } +}