63c5d85cf4
The problem was that an overload of CodedOutputStream.newInstance without size uses 4000 as a default value, thus allocating a 4k-sized byte array. At the same time the array remained effectively unused in the most cases since it only used for storing data for unknown fields. Because such arrays are being created for each read of protobuf message, during compilation of IntelliJ project it was producing 25% of redundant memory traffic. Of course these arrays were all in the young gen, but still they have some effect on GC