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

stateful QUARK modules #134

Open
jusschwitalla opened this issue Aug 16, 2024 · 0 comments
Open

stateful QUARK modules #134

jusschwitalla opened this issue Aug 16, 2024 · 0 comments

Comments

@jusschwitalla
Copy link
Contributor

It is very important to know (and I think not documented) that QUARK module are instantiated once and the instance than is used for all backlog items and iterations. This can lead to hard to find problems if the module uses some state
(I had the concrete problem that I had an expensive helper method which I used several times in the postprocessing and which stored its result for reuse - but if the result depends on the backlog item or the repetition one has to be very careful to reset the cache appropriately)

I think there are situations where it can help to have the same instance during the whole QUARK run but these are probably exceptions. May be the default should be that the QUARK modules are newly instantiated on every backlog item/repetition but a module can somehow tell the benchmark manager to do no reinitialization ('singleton-mode')
I know this would be a problematic compatibility issue - may be one could force the module implementations to provide a method 'is_singleton'?)

But in any case the behaviour should be prominently documented for the developers.

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

1 participant