Right now we always compact ListViewArray based on a density heuristic after ops like take and filter to clean up sparse arrays. But when to compact wrt execution is dependent whole execution tree. If we have nested takes, for example, we should only compact after the last op.
Whether to compact should be an explicit decision. Tradeoffs are different for different use cases and GC is expensive.
Right now we always compact
ListViewArraybased on a density heuristic after ops liketakeandfilterto clean up sparse arrays. But when to compact wrt execution is dependent whole execution tree. If we have nested takes, for example, we should only compact after the last op.Whether to compact should be an explicit decision. Tradeoffs are different for different use cases and GC is expensive.