Skip to content

Slim down the collector objects #6

@fingolfin

Description

@fingolfin

A typical pcp collector currently can easily take up several hundred kilobytes of RAM. Creating lots of collectors (say, by creating lots of pcp groups) can thus quickly eat up large amounts of RAM, and also CPU time.

The reason for this is that the collector objects store lots of temporary data, including stacks used by the collection routine. So each collector has such a stack, which most of the time sit unused.

We should be able to remove most of these, and thus reduce the memory usage considerably.

Only caveat is that those collectors are also accessed by the GAP kernel code in src/objcftl.c (which really is there only for polycyclic). So any change needs to be coordinated between GAP and polycyclic.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions