Constraint Propagation can be speeded up significantly by choosing a good execution order for propagators. A propagator is an implicit representation of a constraint which is widely used in todays powerful constraint solvers. In this paper we evaluate different ways to find good execution orders automatically during runtime. We extend previous work in this area by two new techniques: fair-scheduling and impact-oriented prioritization of propagators.