May 25th, 2014, 12:32 pm
QuoteOriginally posted by: outrunQuoteOriginally posted by: CuchulainnQuoteOriginally posted by: Polteroutrun: I still think you need to have a concrete benchmark of this! :>I'm unsure about a couple of choices made (e.g., `std::list` -- perhaps `std::vector`, `std::deque`, or `boost::stable_vector` are worth consideration) -- but that's all pointless speculation without a concrete benchmark.Similarly, I also don't see much point in discussing other data structures, like graphs or trees, at this stage -- if we can't have a concrete benchmark with a simple data structure, we're pretty sure going to fail to benchmark the more complex ones. And, since "you can't improve what you can't measure", this will only lead to a failed design that we won't be able to improve upon.I agree. Let's reduce the focus and scope for a moment. Proof-o'-Concept.What I can do is _provide_ the CAD classes, actions on them (rotate, move) and and a realistic test case(s) to test the new design.So, we effectively want is Invoke(<any_action>, <any_object>) ?Are there other requirements as well?Yes * Invoke(<any_action>, <any_object>, ...)* have a dynamic set of objects of various types.I'll see what I can do with benchmarking, (I'll do a simple A-B test ok?) but speed is not the main benefit IMO: I think a non-member deisgn is simpler (leas requirment on the objects) more open and beter maintainable.To make it explicit:Actions: {move, rotate,..}Objects: {square, circle,..}Yes. I sign the contract