[Refactor Suggestions I] Mixins all the way #19
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First of several draft proposals opened for comparison; each offers advantages and disadvantages in terms of readability and comprehension (dependent on knowledge of package structure)
This one pushes the mixins to the ultimate level, so that each actual benchmark run by ASV is only comprised of the specification of that particular instances attributes
The changelog view is a little muddled but the direct file view showcases how easy it is to read: https://github.com/NeurodataWithoutBorders/nwb_benchmarks/blob/1f58d3830e53f5177be97088355f05a59e1fdf63/src/nwb_benchmarks/benchmarks/streaming.py
However, this approach comes with a lot of implicit understanding of how the mixins are separated, with a lot of redirection required to understand what any single benchmark is actually doing whenever it runs
But it does make it really easy to expand a matrix of cases by taking cross-combinations of setups and time tests
Also beginning to adopt sklearn import structure since centralized imports are now being used