hlsl shader optimization

So, write to rendertarget -> apply shader & overwrite rendertarget with new data -> draw rendertarget?

Is this efficient? I’m curious about the performance impact of all those spritebatch.Begin calls.