As lhofhansl has called out in
HBASE-11544, RPC is inefficient when scanning. The way it currently works is the client requests a buffer worth of results and works through that buffer. Once that buffer of results is exhausted, the client realizes it has run out of results and then requests the next buffer. This could be improved by beginning to load the next buffer on the server while the client is working through the current buffer of results.