Created
February 14, 2012 12:55
-
-
Save wodor/1826622 to your computer and use it in GitHub Desktop.
doctrine bathcing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Created by JetBrains PhpStorm. | |
| * User: wodor | |
| * Date: 13.02.12 | |
| * Time: 23:27 | |
| * To change this template use File | Settings | File Templates. | |
| */ | |
| use Doctrine\Common\DataFixtures\FixtureInterface; | |
| use Doctrine\Common\Persistence\ObjectManager; | |
| use WodorNet\DataCacheBundle\Entity\Ad; | |
| class LoadAdData implements FixtureInterface, \Symfony\Component\DependencyInjection\ContainerAwareInterface | |
| { | |
| protected static $data = array( | |
| 'labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatu', | |
| 'Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut ', | |
| 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', | |
| 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum ', | |
| 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum', | |
| '"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.', | |
| 'Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.', | |
| ); | |
| /** | |
| * @var \Symfony\Component\DependencyInjection\Container | |
| */ | |
| private $container; | |
| public function setContainer(\Symfony\Component\DependencyInjection\ContainerInterface $container = null) | |
| { | |
| $this->container = $container; | |
| } | |
| public function load(ObjectManager $manager) | |
| { | |
| $profiler = $this->container->get('profiler'); | |
| $stopWatch = $this->container->get('debug.stopwatch'); | |
| $stopWatch->start('load'); | |
| /** @var $stopWatch \Symfony\Component\HttpKernel\Debug\Stopwatch */ | |
| $q = 0; | |
| $frate = 20; | |
| for($i = 1; $i<=10000; $i++) { | |
| $ad = new Ad(); | |
| $ad->setTitle('Test title'.$i); | |
| $desc = ''; | |
| for($j = 0; $j<10; $j++) { | |
| $desc .= self::$data[rand(0,count(self::$data)-1)]; | |
| } | |
| $ad->setDescription($desc); | |
| $ad->setOwner('dupa'); | |
| $manager->persist($ad); | |
| if($i % $frate === 0) { | |
| ; | |
| echo "\nbefore flush:". ($p = memory_get_peak_usage(true)/1024) ." kb (+".($p-$q).")" ; | |
| $stopWatch->start('flush_'); | |
| $manager->flush(); | |
| $manager->clear(); | |
| $stopWatch->stop('flush_'); | |
| echo "\n after flush:". ($q = memory_get_peak_usage(true)/1024) ." kb (+".($q-$p).")" ;; | |
| } | |
| } | |
| echo "\nbefore flush:".memory_get_peak_usage(true)/1024 ." kb"; | |
| $stopWatch->start('flush_'); | |
| $manager->flush(); | |
| $e = $stopWatch->stop('flush_'); | |
| echo "\n after flush:".memory_get_peak_usage(true)/1024 ." kb"; | |
| $profiler->collect(\Symfony\Component\HttpFoundation\Request::createFromGlobals(), new \Symfony\Component\HttpFoundation\Response()); | |
| $dbc = $profiler->get('db'); | |
| echo "\nquery count: ".$dbc->getQueryCount(). ' in '.round($dbc->getTime(),4) .'s'; | |
| echo "\n memory_peak_usage:".memory_get_peak_usage(true)/1024 . " kb"; | |
| echo "\n flush time: ". $e->getTotalTime(); | |
| echo "\n total time: ". $stopWatch->stop('load')->getTotalTime(); | |
| } | |
| } | |
| /** | |
| flush every 100 ($frate = 100) | |
| before flush:18688 kb (+18688) | |
| after flush:20480 kb (+1792) | |
| before flush:20480 kb (+0) | |
| after flush:22272 kb (+1792) | |
| before flush:22272 kb (+0) | |
| after flush:24064 kb (+1792) | |
| before flush:24064 kb (+0) | |
| after flush:25856 kb (+1792) | |
| before flush:26112 kb (+256) | |
| after flush:27648 kb (+1536) | |
| before flush:28160 kb (+512) | |
| after flush:29696 kb (+1536) | |
| before flush:30208 kb (+512) | |
| after flush:31744 kb (+1536) | |
| before flush:32000 kb (+256) | |
| after flush:33536 kb (+1536) | |
| before flush:33536 kb (+0) | |
| after flush:35584 kb (+2048) | |
| before flush:36352 kb (+768) | |
| after flush:37888 kb (+1536) | |
| before flush:41472 kb (+3584) | |
| after flush:43264 kb (+1792) | |
| before flush:43264 kb (+0) | |
| after flush:44800 kb (+1536) | |
| before flush:45312 kb (+512) | |
| after flush:46848 kb (+1536) | |
| before flush:48128 kb (+1280) | |
| after flush:49664 kb (+1536) | |
| before flush:49920 kb (+256) | |
| after flush:51456 kb (+1536) | |
| before flush:52224 kb (+768) | |
| after flush:53760 kb (+1536) | |
| before flush:54016 kb (+256) | |
| after flush:55552 kb (+1536) | |
| before flush:56064 kb (+512) | |
| after flush:57600 kb (+1536) | |
| before flush:58112 kb (+512) | |
| after flush:59904 kb (+1792) | |
| before flush:60160 kb (+256) | |
| after flush:61696 kb (+1536) | |
| before flush:62720 kb (+1024) | |
| after flush:64512 kb (+1792) | |
| before flush:64512 kb (+0) | |
| after flush:66304 kb (+1792) | |
| before flush:66304 kb (+0) | |
| after flush:68096 kb (+1792) | |
| before flush:68096 kb (+0) | |
| after flush:69888 kb (+1792) | |
| before flush:69888 kb (+0) | |
| after flush:71680 kb (+1792) | |
| before flush:71680 kb (+0) | |
| after flush:73216 kb (+1536) | |
| before flush:73728 kb (+512) | |
| after flush:75264 kb (+1536) | |
| before flush:75520 kb (+256) | |
| after flush:77056 kb (+1536) | |
| before flush:77312 kb (+256) | |
| after flush:78848 kb (+1536) | |
| before flush:79360 kb (+512) | |
| after flush:80896 kb (+1536) | |
| before flush:81152 kb (+256) | |
| after flush:82688 kb (+1536) | |
| before flush:82944 kb (+256) | |
| after flush:84480 kb (+1536) | |
| before flush:84992 kb (+512) | |
| after flush:86528 kb (+1536) | |
| before flush:86784 kb (+256) | |
| after flush:88320 kb (+1536) | |
| before flush:88832 kb (+512) | |
| after flush:90368 kb (+1536) | |
| before flush:90880 kb (+512) | |
| after flush:92416 kb (+1536) | |
| before flush:92928 kb (+512) | |
| after flush:94208 kb (+1280) | |
| before flush:94464 kb (+256) | |
| after flush:96000 kb (+1536) | |
| before flush:96512 kb (+512) | |
| after flush:98304 kb (+1792) | |
| before flush:98816 kb (+512) | |
| after flush:100608 kb (+1792) | |
| before flush:100608 kb (+0) | |
| after flush:102656 kb (+2048) | |
| before flush:102656 kb (+0) | |
| after flush:104448 kb (+1792) | |
| before flush:104448 kb (+0) | |
| after flush:106240 kb (+1792) | |
| before flush:106240 kb (+0) | |
| after flush:108032 kb (+1792) | |
| before flush:108032 kb (+0) | |
| after flush:109824 kb (+1792) | |
| before flush:109824 kb (+0) | |
| after flush:111616 kb (+1792) | |
| before flush:111616 kb (+0) | |
| after flush:113408 kb (+1792) | |
| before flush:113408 kb (+0) | |
| after flush:115200 kb (+1792) | |
| before flush:115200 kb (+0) | |
| after flush:116992 kb (+1792) | |
| before flush:116992 kb (+0) | |
| after flush:118784 kb (+1792) | |
| before flush:118784 kb (+0) | |
| after flush:120576 kb (+1792) | |
| before flush:120576 kb (+0) | |
| after flush:122368 kb (+1792) | |
| before flush:122368 kb (+0) | |
| after flush:124160 kb (+1792) | |
| before flush:124160 kb (+0) | |
| after flush:125952 kb (+1792) | |
| before flush:125952 kb (+0) | |
| after flush:127744 kb (+1792) | |
| before flush:127744 kb (+0) | |
| after flush:129536 kb (+1792) | |
| before flush:129536 kb (+0) | |
| after flush:131328 kb (+1792) | |
| before flush:131328 kb (+0) | |
| after flush:133120 kb (+1792) | |
| before flush:133120 kb (+0) | |
| after flush:134912 kb (+1792) | |
| before flush:135680 kb (+768) | |
| after flush:137216 kb (+1536) | |
| before flush:137216 kb (+0) | |
| after flush:139008 kb (+1792) | |
| before flush:139008 kb (+0) | |
| after flush:140800 kb (+1792) | |
| before flush:140800 kb (+0) | |
| after flush:142592 kb (+1792) | |
| before flush:142848 kb (+256) | |
| after flush:144384 kb (+1536) | |
| before flush:144640 kb (+256) | |
| after flush:146176 kb (+1536) | |
| before flush:147712 kb (+1536) | |
| after flush:149248 kb (+1536) | |
| before flush:149760 kb (+512) | |
| after flush:151296 kb (+1536) | |
| before flush:151808 kb (+512) | |
| after flush:153344 kb (+1536) | |
| before flush:153600 kb (+256) | |
| after flush:155136 kb (+1536) | |
| before flush:155392 kb (+256) | |
| after flush:156928 kb (+1536) | |
| before flush:162816 kb (+5888) | |
| after flush:164608 kb (+1792) | |
| before flush:168448 kb (+3840) | |
| after flush:169984 kb (+1536) | |
| before flush:169984 kb (+0) | |
| after flush:171776 kb (+1792) | |
| before flush:171776 kb (+0) | |
| after flush:173568 kb (+1792) | |
| before flush:173568 kb (+0) | |
| after flush:175360 kb (+1792) | |
| before flush:175360 kb (+0) | |
| after flush:177152 kb (+1792) | |
| before flush:177152 kb (+0) | |
| after flush:178944 kb (+1792) | |
| before flush:179200 kb (+256) | |
| after flush:180736 kb (+1536) | |
| before flush:181504 kb (+768) | |
| after flush:183040 kb (+1536) | |
| before flush:187392 kb (+4352) | |
| after flush:188928 kb (+1536) | |
| before flush:190464 kb (+1536) | |
| after flush:192000 kb (+1536) | |
| before flush:192256 kb (+256) | |
| after flush:195072 kb (+2816) | |
| before flush:195072 kb (+0) | |
| after flush:196352 kb (+1280) | |
| before flush:196352 kb (+0) | |
| after flush:198144 kb (+1792) | |
| before flush:198144 kb (+0) | |
| after flush:199936 kb (+1792) | |
| before flush:199936 kb (+0) | |
| after flush:201728 kb (+1792) | |
| before flush:201728 kb (+0) | |
| after flush:203520 kb (+1792) | |
| before flush:203520 kb (+0) | |
| after flush:205312 kb (+1792) | |
| before flush:205312 kb (+0) | |
| after flush:207104 kb (+1792) | |
| before flush:207104 kb (+0) | |
| after flush:208896 kb (+1792) | |
| before flush:208896 kb (+0) | |
| after flush:210688 kb (+1792) | |
| before flush:210688 kb (+0) | |
| after flush:212480 kb (+1792) | |
| before flush:212480 kb (+0) | |
| after flush:214272 kb (+1792) | |
| before flush:214272 kb (+0) | |
| after flush:216064 kb (+1792) | |
| before flush:216064 kb (+0) | |
| after flush:217856 kb (+1792) | |
| before flush:217856 kb (+0) | |
| after flush:219648 kb (+1792) | |
| before flush:219648 kb (+0) | |
| after flush:221440 kb (+1792) | |
| before flush:221440 kb (+0) | |
| after flush:223232 kb (+1792) | |
| before flush:223232 kb (+0) | |
| after flush:225024 kb (+1792) | |
| before flush:225024 kb (+0) | |
| after flush:226816 kb (+1792) | |
| before flush:226816 kb | |
| after flush:227840 kb | |
| query count: 10004 in 4.215s | |
| memory_peak_usage:399872 kb | |
| flush time: 54120.9 | |
| $frate = 1000 | |
| before flush:25344 kb (+25344) | |
| after flush:41984 kb (+16640) | |
| before flush:42752 kb (+768) | |
| after flush:58880 kb (+16128) | |
| before flush:59648 kb (+768) | |
| after flush:75520 kb (+15872) | |
| before flush:76800 kb (+1280) | |
| after flush:93184 kb (+16384) | |
| before flush:94464 kb (+1280) | |
| after flush:110592 kb (+16128) | |
| before flush:111872 kb (+1280) | |
| after flush:127744 kb (+15872) | |
| before flush:129792 kb (+2048) | |
| after flush:145664 kb (+15872) | |
| before flush:146176 kb (+512) | |
| after flush:162304 kb (+16128) | |
| before flush:164608 kb (+2304) | |
| after flush:180992 kb (+16384) | |
| before flush:182016 kb (+1024) | |
| after flush:198144 kb (+16128) | |
| before flush:198144 kb | |
| after flush:198144 kb | |
| query count: 10004 in 7.1516s | |
| memory_peak_usage:371200 kb | |
| flush time: 21894.2 | |
| total time: 25066.9 | |
| [symfony_lean master] $ ./app/console doc:fi:lo | |
| > purging database | |
| > loading LoadUserData | |
| > loading LoadAdData | |
| $frate = 10000 | |
| before flush:73728 kb (+73728) | |
| after flush:236544 kb (+162816) | |
| before flush:236544 kb | |
| after flush:236544 kb | |
| query count: 10004 in 7.1062s | |
| memory_peak_usage:381952 kb | |
| flush time: 19912.7 | |
| total time: 23232.4[symfony_lean master] $ | |
| */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment