In the common case, the user has <5 functions they want to compare on the same inputs. They shouldn't have to deal with weird machinery for specifying arguments every time they decorate a function. Actually, for the moment, I can probably remove the per-function arguments feature entirely. Instead, the object should have an add_args method or something.
The internals of the object must be designed so that it doesn't matter what order you decorate and add arguments.
One nice thing here is that the "args/kwargs" and "stmt/setup" arguments are totally orthogonal, so we don't actually need to set a "mode" on this thing. Just observe what's coming in, and set the mode accordingly.
The purpose of groups is no longer clear to me, now that you can create multiple Rumble objects. That should be removed from the API.
In the common case, the user has <5 functions they want to compare on the same inputs. They shouldn't have to deal with weird machinery for specifying arguments every time they decorate a function. Actually, for the moment, I can probably remove the per-function arguments feature entirely. Instead, the object should have an
add_args
method or something.The internals of the object must be designed so that it doesn't matter what order you decorate and add arguments.
One nice thing here is that the "args/kwargs" and "stmt/setup" arguments are totally orthogonal, so we don't actually need to set a "mode" on this thing. Just observe what's coming in, and set the mode accordingly.
The purpose of groups is no longer clear to me, now that you can create multiple Rumble objects. That should be removed from the API.