Thanks for the explanation! might it work to replace the call to `tuple` with a call to `lazy_list`?
Martin Am Donnerstag, 14. Februar 2019 17:54:49 UTC+1 schrieb Travis Scrimshaw: > > Maybe...Because the façade parent framework needs the tuple to say it is a > façade for that set of parents. Currently Family is a parent, so there > would be no way to distinguish between the family should represent the set > of parents or a parent to be the façade for. > > Most of what that test is for is to show that we are not actually creating > all of those elements and enumerating them (i.e., it is using the > hook-length formula). So we could maybe make it StandardTableaux(40) > instead of 50, but it will still likely use a large chunk of memory. > > Best, > Travis > > On Thursday, February 14, 2019 at 9:49:06 PM UTC+10, Martin R wrote: >> >> Further digging reveals that the problem is in >> `DisjointUnionEnumeratedSets.__init__, which expands the lazy >> `Family(Partitions_n(n), StandardTableaux_shape)` into a tuple. I have >> (currently) no idea whether this is necessary. >> >> Martin >> >> Am Donnerstag, 14. Februar 2019 12:38:20 UTC+1 schrieb Martin R: >>> >>> Can we exclude the possibility that this is a regression? >>> >>> As far as I can see, the expensive part is in creating the parent >>> 'StandardTableaux(50)', which is a bit strange, isn't it? >>> >>> Martin >>> >>> Am Mittwoch, 13. Februar 2019 22:02:37 UTC+1 schrieb Volker Braun: >>>> >>>> On Wednesday, February 13, 2019 at 5:33:38 PM UTC+1, Travis Scrimshaw >>>> wrote: >>>>> >>>>> My (complete) guess is that there are so many partitions of 50 (204226 >>>>> to be precise) and in such a tight for loop that the garbage collector >>>>> does >>>>> not have enough time to actually collect the parents being created and >>>>> discarded. >>>>> >>>> >>>> The Python GC also starts collection if there are many new objects, so >>>> I don't think this is it. >>>> >>>> Running the example takes > 1 gb of ram; Surely a smaller example >>>> could be used with the same code coverage. >>>> >>> -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.