How can I prevent the jupyter kernel from buffering stdout/stderr?

I am using an AsyncKernelManager + AsyncKernelClient to execute code in the jupyter kernel. I notice that even if code executes instantly, stdout/stderr messages both take much longer to appear on the iopub channel than the actual code executing.

Is the Jupyter kernel doing some sort of buffering internally?