AliceDataFixtures: So slow for 5000 objects.

I have a set of fixtures with sum ~ 5000 objects. Bundle takes a few minutes to process them. Cycle while(true) in MultiPassLoader.php requires 90 sec for 11 files. It’s 90 seconds only to create objects, without persisting them to db. How it can be improved? I’m using Mac Pro, php 7.1

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

Looks like the two bottlenecks are:

  • deep cloning (we could try to limit its usage in alice but it’s tricky)
  • make the deep cloning faster (tricky as well but doable)

Another big bottleneck, if not the biggest, is the garbage collection. You can try to get rid of it by doing php -d zend.enable_gc=0 <your command here>

solution with php -d zend.enable_gc=0 <your command here> save me a lot of time. From ~3min to ~10sec 🚀

Thanks @theofidry