Maximizing Performance with Demand Based Switching