-
Notifications
You must be signed in to change notification settings - Fork 2
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
Select right arguments to test functions #2
Comments
I think you shouldn't automate this. A benchmark for |
Ok, I agree with you. About a separate list, I think it can be generated from a pattern per graph kind, using the GenericGraph -> [(Name,i)] instead of Edges -> [(Name,i)] On the same topic, is benchmarking |
@nobrakal If you look at snowleopard/alga#14 (comment), you'll see that I originally suggested to make vertex/edge access patterns part of the graph descriptions, not algorithms. This means you don't need |
Oh sorry, I had forgotten that. I am not happy with it, because as there is no standard pattern for access and as you said, they had to be choose purposefully by the one who benchmark, so I don't want to include our patterns in the I think edgesNotInGraph :: GenericGraph -> [Edges]
edgesNotInGraph (GenericGraph name edges) = case name of
"path" -> [...]
"circuit" -> [...] And thus test only what they want per graph |
Ouch! Doing a quadratic amount of work (number of benchmark graphs times number of algorithms) will not scale in many ways: it is hard to write, it is hard to explain, it is hard to understand. I don't think this is a viable option. I advise to think about how you can decompose benchmarking into orthogonal concerns. |
It looks orthogonal to me... An I can't see how you can do less than
But I have certainly missed something if you are thinking this is not even viable ^^ ! |
Currently, a function like
hasEdge
is tested with arguments fromtake 2 edgesNotInGraph
. But this take the two first edges not in the graphs, likely(0,0)
and(0,1)
. This is not a good thing, we want to test for edges everywhere and the graph.How can we select them to have a representative population, and how many ?
The text was updated successfully, but these errors were encountered: