title: Achieving sub millisecond latency with gRPC over LAN?
body: <p>I was reading about the performance of <code>gRPC</code> and found <a href="https://www.nexthink.com/blog/comparing-grpc-performance/" rel="nofollow noreferrer">a couple of interesting benchmarks</a>:</p>
  <p><code>gRPC</code> is capable of processing approx. 36K requests per second using a single core server and approx. 62K requests per second using two cores (using the <code>Java</code> implementation).</p>
  <p><a href="https://i.stack.imgur.com/8rbGy.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8rbGy.png" alt="enter image description here" /></a></p>
  <p>When it comes to latency we're looking at <em>77ms</em> for <em>p99</em> which is not acceptable when sub millisecond latency is required.</p>
  <p><a href="https://i.stack.imgur.com/1vVfK.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1vVfK.png" alt="enter image description here" /></a></p>
  <p>I thought the latency/throughput can be improved dramatically when two or more servers communicate over the same network.</p>
  <p>Does <code>gRCP</code> open a <strong>local</strong> <code>TCP</code> connection by default when available? Can I assume the latency/throughput would be dramatically faster than the benchmarks shown in such cases?</p>
  <p>Thanks</p>