Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISlice holding on frame pointer causing memory adding up #245

Open
HaiwangYu opened this issue Sep 22, 2023 · 3 comments
Open

ISlice holding on frame pointer causing memory adding up #245

HaiwangYu opened this issue Sep 22, 2023 · 3 comments
Assignees

Comments

@HaiwangYu
Copy link
Member

HaiwangYu commented Sep 22, 2023

Screenshot 2023-09-22 at 4 34 02 PM

Currently seems the frame ident is used here to check if new event comes:
https://github.com/WireCell/wire-cell-toolkit/blob/master/img/src/BlobClustering.cxx#L131

Thinking to save IFrame->ident() in ISlice. @brettviren, if you are OK, I will try this out.

@HaiwangYu HaiwangYu self-assigned this Sep 22, 2023
@brettviren
Copy link
Member

Hi @HaiwangYu

What I suggest is to make a new type of IFrame implementation that only holds the ident value. The rest of its IFrame API would return empty/null values.

Then, MaskSlice can gain a new configuration parameter (eg drop_traces - but maybe there is a better name). If drop_traces = true then the ISlice that are produced are given this new "ident only" IFrame implementation. Otherwise they get the original input IFrame.

For now, this new IFrame implementation can live right in side MaskSlice.cxx. If we ever need this new type of IFrame in a different node we can expose it by moving it in to the aux sub-package.

@HaiwangYu
Copy link
Member Author

Thanks @brettviren, I will try this out.

@HaiwangYu
Copy link
Member Author

Hi @brettviren, this seems to work. I will make a PR soon.
Screenshot 2023-09-25 at 11 07 57 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants