At least for large scans that I've profiled I've found that a lot of the time spent in the client is demarshaling the pb response from HBase. There may be room to switch to a faster pb library or to a pb C-binding to utilize other cores.