I've found that with complex shaders, it can be more performant to use CPU Cycles rendering because GPU rendering can have a substantial delay after changing parameters. In the same vein, Cycles is sometimes faster than Eevee, because the latter needs to recompile the shader after every change.