What happens internally when ComputeShader.Dispatch is called?

I’m wondering if there’s any way for me to optimize the price of a Dispatch() call. Not the actual time it takes on to run GPU, but the CPU Dispatch() method time.

What’s happening internally in the c++ side of things while calling dispatch? For my mesh generation system, it’s taking me nearly 88ms for 3072 chunks (with each about 10-20 dispatch call each). This feels a bit much for just enqueuing a bunch of GPU draw commands!

Is there anything I can do, other than simply just enqueuing less dispatch calls?