There's really only one way to find out, and almost nobody does this:
Construct a standard test carpet sample, like for example a 2x2 meter square, mount it to a fixed backing, then make a few of them. Rub in a fixed mass of a fixed kind of dirt (say a 33/33/33 mix of walnut shell, cat hair and silt) in a consistent way, and then, using an empty vacuum with new filters, vacuum the carpet square in a fixed number of strokes in a fixed pattern and weigh how much each vacuum sucks out.
Even then, you might find that some clean-air machines outperform some dirty-air ones. I'd be *really* surprised to see an Oreck XL outclean a TOL Riccar canister, for example, but not surprised at all if a Royal or a Sanitaire did.
Also, if you did this with different dirt mixes, or on different kinds of carpet, the results would almost certainly vary.