Hello.

I'm having simple test entity:
 

> class test
> {
>     /**
>      * @var integer $id
>      */
>     private $id;
>
>     /**
>      * @var string $test
>      */
>     private $test;
>
>     // get/set methods
> }
>
 
and command:

>     protected function execute(InputInterface $input, OutputInterface 
> $output) {
>
>         $doctrine = $this -> getContainer() -> get('doctrine');
>         /* @var $doctrine \Symfony\Bundle\DoctrineBundle\Registry */
>
>         $em = $doctrine -> getEntityManager();
>         /* @var $em \Doctrine\ORM\EntityManager */
>         $em -> getconfiguration() -> setSQLLogger(null);
>
>
>         $mem_start = memory_get_usage();
>         gc_collect_cycles();
>         for ($i = 1; $i < 1000; $i++) {
>             $test = new Test();
>             $test -> setTest(str_repeat('xy', 100));
>             
>             $em -> persist($test);
>             
>
>
>             if ($i % 50 == 0) {
>                 $em -> flush($test);
>                 $em -> clear();
>                 gc_collect_cycles();
>                 echo sprintf('%06d', $i).": ";
>                 echo number_format(memory_get_usage() - $mem_start)."\n";
>             }
>         }
>     }
>

after execution of this command output looks like this:

> 000050: 2,204,656
> 000100: 2,334,232
> 000150: 2,464,576
> 000200: 2,593,384
> 000250: 2,722,192
> 000300: 2,854,072
> 000350: 2,982,880
> 000400: 3,111,688
> 000450: 3,240,496
> 000500: 3,369,304
> 000550: 3,504,256
> 000600: 3,665,832
> 000650: 3,794,640
> 000700: 3,923,448
> 000750: 4,052,256
> 000800: 4,181,064
> 000850: 4,309,872
> 000900: 4,438,680
> 000950: 4,567,488
>


so after inserting 1000 rows memory usage incrased for almost 5mb!

So i tried to ommit using entityManager:

> protected function execute(InputInterface $input, OutputInterface $output) 
> {
>
>         $doctrine = $this -> getContainer() -> get('doctrine');
>         /* @var $doctrine \Symfony\Bundle\DoctrineBundle\Registry */
>
>         $em = $doctrine -> getEntityManager();
>         /* @var $em \Doctrine\ORM\EntityManager */
>         $em -> getconfiguration() -> setSQLLogger(null);
>
>
>         $connection = $doctrine -> getConnection();
>         /* @var $connection \Doctrine\DBAL\Connection */
>
>         $mem_start = memory_get_usage();
>         gc_collect_cycles();
>         for ($i = 1; $i < 1000; $i++) {
>
>             $connection -> insert('test', array (
>                 'test' => str_repeat('xy', 100)));
>
>
>             if ($i % 50 == 0) {
>                 gc_collect_cycles();
>                 echo sprintf('%06d', $i).": ";
>                 echo number_format(memory_get_usage() - $mem_start)."\n";
>             }
>         }
>     }
>
But output is like this:

> 000050: 279,744
> 000100: 417,712
> 000150: 556,448
> 000200: 693,648
> 000250: 830,848
> 000300: 971,120
> 000350: 1,108,320
> 000400: 1,245,520
> 000450: 1,382,720
> 000500: 1,519,920
> 000550: 1,663,264
> 000600: 1,800,464
> 000650: 1,937,664
> 000700: 2,107,632
> 000750: 2,244,832
> 000800: 2,382,032
> 000850: 2,519,232
> 000900: 2,656,432
> 000950: 2,793,632
>

Twice less but still no good. 

Any 1 knows what should I do to get rid of these memory leaks? Mb it's just 
some bug that should be reported?
My configuration: Windows XP 32 bit / server: xampp xampp-win32-1.7.7-VC9 




-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to symfony-devs@googlegroups.com
To unsubscribe from this group, send email to
symfony-devs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en

Reply via email to