Skip to content

CSE cache release trackingΒ #100

@mdales

Description

@mdales

For common subexpression elimination we maintain a cache of partial results in the CSECacheTable. This table is built when we first scan an expression for common subexpressions, and we note the count of how frequently that subexpression occurs. If that count is more than one, then we store the result of a subexpression for future re-use.

However, the partial results will be held into the table until the end of the evaluation of the entire expression, meaning we hold onto more active memory than we need to.

The CSECacheTable has in it how many times the data is used, so we could count how frequently it is read and deallocate that cache entry once it has been read the expected number of times.

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