Dan Luu wrote about terminal latency a while back [1]. Eshell is actually the shell with the least overall latency. Is is, though, very slow at sinking stdout, which is probably what you are noticing.
* https://lwn.net/Articles/749992/ (https://news.ycombinator.com/item?id=16894706)
* https://lwn.net/Articles/751763/ (https://news.ycombinator.com/item?id=16933892)