Calling XXXViewFromOptions in an inner loop can be very expensive. This can appear, for example, when using
many small subsolves. Call this function to control viewer creation in PetscOptionsGetViewer, thus removing the expensive XXXViewFromOptions calls.