Skip to content

Commit 4b7c2d4

Browse files
mhansencopybara-github
authored andcommitted
Avoid allocating TreeMap in UnknownFieldSet.Builder.asMap
If UnknownFieldSet is empty PiperOrigin-RevId: 632504647
1 parent 8c6e5b7 commit 4b7c2d4

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

java/core/src/main/java/com/google/protobuf/UnknownFieldSet.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,11 @@ public Builder addField(int number, Field field) {
483483
* changes may or may not be reflected in this map.
484484
*/
485485
public Map<Integer, Field> asMap() {
486+
// Avoid an allocation for the common case of an empty map.
487+
if (fieldBuilders.isEmpty()) {
488+
return Collections.emptyMap();
489+
}
490+
486491
TreeMap<Integer, Field> fields = new TreeMap<>();
487492
for (Map.Entry<Integer, Field.Builder> entry : fieldBuilders.entrySet()) {
488493
fields.put(entry.getKey(), entry.getValue().build());

0 commit comments

Comments
 (0)