{"push_id":1208228556,"size":6,"distinct_size":6,"ref":"refs/heads/wq","head":"e34e7d6f17de18fe060c5ef810b7ac52ea5600ad","before":"093d2328e017797fed2e9974fbde53300cc29507","commits":[{"sha":"d2cc576320af6dd61a26f0f9d8dabc337918c975","author":{"name":"Eric Anderson","email":"5984730f8a3792c037e7ccbb06e8a5fc43a55e68@google.com"},"message":"core: Fix ErrorProne errors","distinct":true,"url":"https://api.github.com/repos/carl-mastrangelo/grpc-java/commits/d2cc576320af6dd61a26f0f9d8dabc337918c975"},{"sha":"f52b4e52cdb72b703ea9baa07e3b1fa5c24a6d52","author":{"name":"Louis Ryan","email":"7c2a2dcddac53e8626d5ee2106423ef66a687985@google.com"},"message":"Make the OkHTTP transport AppEngine friendly. AppEngine may support\nconscrypt at some point which would allow ALPN to function\nClarify the SSLContext.getDefault is not used when constructing the\ndefault SSLSocketFactory.","distinct":true,"url":"https://api.github.com/repos/carl-mastrangelo/grpc-java/commits/f52b4e52cdb72b703ea9baa07e3b1fa5c24a6d52"},{"sha":"e34f2cf3e0901141300c7478bfb18d9bc2707d7b","author":{"name":"Eric Anderson","email":"5984730f8a3792c037e7ccbb06e8a5fc43a55e68@google.com"},"message":"interop: Add constant for necessary max message size\n\nThe max message size isn't necessary for the standard cross-language\ninterop tests, but only our own veryLarge tests.","distinct":true,"url":"https://api.github.com/repos/carl-mastrangelo/grpc-java/commits/e34f2cf3e0901141300c7478bfb18d9bc2707d7b"},{"sha":"2e4138aa5c8240d134610d1b00073d09359c8cf9","author":{"name":"Eric Anderson","email":"5984730f8a3792c037e7ccbb06e8a5fc43a55e68@google.com"},"message":"core: Fix doc to refer to ImplBase","distinct":true,"url":"https://api.github.com/repos/carl-mastrangelo/grpc-java/commits/2e4138aa5c8240d134610d1b00073d09359c8cf9"},{"sha":"8f3173617c2e825558c415555e1259ae2fa2e1cf","author":{"name":"Eric Anderson","email":"5984730f8a3792c037e7ccbb06e8a5fc43a55e68@google.com"},"message":"docs: Avoid using bindService()\n\nbindService() is generally not necessary and the static version is\ndeprecated.","distinct":true,"url":"https://api.github.com/repos/carl-mastrangelo/grpc-java/commits/8f3173617c2e825558c415555e1259ae2fa2e1cf"},{"sha":"e34e7d6f17de18fe060c5ef810b7ac52ea5600ad","author":{"name":"Carl Mastrangelo","email":"f9f52774adec4a09b5f1db94877f7d746171ec14@google.com"},"message":"netty: reduce contention in WriteQueue\n\nWriteQueue uses LinkedBlockingQueue, which has stronger synchronization\nsemantics than we need.  It also requires that we batch reads from it\nin order to get reasonable performance.  After profiling the delay\nbetween writing to LBQ and reading from it, there was a ~10us delay.\n\nThis change switches to using ConcurrentLinkedQueue as the underlying\nqueue, and removes the batching (reads).  Using CLQ with batching is\nslightly slower.\n\nBenchmarks show favorable numbers for both latency and throughput.\nEach of the following results were run serveral times:\n\nBefore:\nBenchmark                         (direct)  (transport)    Mode     Cnt       Score     Error  Units\nTransportBenchmark.unaryCall1024      true        NETTY  sample  321575  124185.027 ± 406.112  ns/op\nTransportBenchmark.unaryCall1024     false        NETTY  sample  237400  168232.991 ± 548.043  ns/op\n\nAfter:\nBenchmark                         (direct)  (transport)    Mode     Cnt       Score     Error  Units\nTransportBenchmark.unaryCall1024      true        NETTY  sample  354773  112552.339 ± 362.471  ns/op\nTransportBenchmark.unaryCall1024     false        NETTY  sample  263297  151660.490 ± 507.463  ns/op\n\nQps with 10 outstanding RPCs per channel:\n\nBefore:\nChannels:                       4\nOutstanding RPCs per Channel:   10\nServer Payload Size:            0\nClient Payload Size:            0\n50%ile Latency (in micros):     396\n90%ile Latency (in micros):     680\n95%ile Latency (in micros):     838\n99%ile Latency (in micros):     1476\n99.9%ile Latency (in micros):   5231\nMaximum Latency (in micros):    43327\nQPS:                            85761\n\nAfter:\nChannels:                       4\nOutstanding RPCs per Channel:   10\nServer Payload Size:            0\nClient Payload Size:            0\n50%ile Latency (in micros):     384\n90%ile Latency (in micros):     612\n95%ile Latency (in micros):     725\n99%ile Latency (in micros):     1080\n99.9%ile Latency (in micros):   3107\nMaximum Latency (in micros):    30447\nQPS:                            93353\n\nThe results are even better when under heavy load.  Qps with 100\noutstanding RPCs per channel:\n\nBefore:\nChannels:                       4\nOutstanding RPCs per Channel:   100\nServer Payload Size:            0\nClient Payload Size:            0\n50%ile Latency (in micros):     2735\n90%ile Latency (in micros):     5051\n95%ile Latency (in micros):     6219\n99%ile Latency (in micros):     9271\n99.9%ile Latency (in micros):   13759\nMaximum Latency (in micros):    44831\nQPS:                            125775\n\nAfter:\nChannels:                       4\nOutstanding RPCs per Channel:   100\nServer Payload Size:            0\nClient Payload Size:            0\n50%ile Latency (in micros):     2697\n90%ile Latency (in micros):     4639\n95%ile Latency (in micros):     5539\n99%ile Latency (in micros):     7931\n99.9%ile Latency (in micros):   12335\nMaximum Latency (in micros):    61823\nQPS:                            131904","distinct":true,"url":"https://api.github.com/repos/carl-mastrangelo/grpc-java/commits/e34e7d6f17de18fe060c5ef810b7ac52ea5600ad"}]}
{"actor":{"display_login":"carl-mastrangelo"}}