We could add a method like TwoPhaseDISI.matchCost() defined as something like estimate of nanoseconds or similar.
ConjunctionScorer could use this method to sort its 'twoPhaseIterators' array so that cheaper ones are called first. Today it has no idea if one scorer is a simple phrase scorer on a short field vs another that might do some geo calculation or more expensive stuff.
PhraseScorers could implement this based on index statistics (e.g. totalTermFreq/maxDoc)