Painters algorithm is inefficient because " It simply paint the background objects first and then paint the near objects over the top of them. This may use a trivial amount of paint on the canvas (much less be useful for manual painting), but for graphics hardware, this results in repeated writes to the same fragment location, each of which has a performance overhead. Too much overwrite slows down the rasterization process, and we call such renderings fill limited" so in case of GL_DEPTH_TEST we discard the fragments in depth test only, but till then we process the fragments through rasterization and all because rasterization takes place independently for each primitive. so there would be very little performance gain for operations after depth test.
Is that correct? I am assuming here it is not tile-base rendering in which case there is early z-killing at the time of rasteriation.