Reduce allocation and copying in retrace partitioning

Bug: b/394560159
Change-Id: Ib5487e0ad3912385f22d7c5a27d47c7cff64c763
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/ProguardMapPartitionerOnClassNameToText.java b/src/main/java/com/android/tools/r8/retrace/internal/ProguardMapPartitionerOnClassNameToText.java
index 4fdc94a..eb507b9 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/ProguardMapPartitionerOnClassNameToText.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/ProguardMapPartitionerOnClassNameToText.java
@@ -142,18 +142,13 @@
                           holder, classNameMapper.getSourceFile(holder));
                     }
                   });
-              StringBuilder payloadBuilder = new StringBuilder();
               if (!partitionFileNameBuilder.isEmpty()) {
-                payloadBuilder
-                    .append("# ")
-                    .append(partitionFileNameBuilder.build().serialize())
-                    .append("\n");
+                payload = "# " + partitionFileNameBuilder.build().serialize() + "\n" + payload;
               }
-              payloadBuilder.append(payload);
               mappingPartitionConsumer.accept(
                   new MappingPartitionImpl(
                       classNamingForNameMapper.renamedName,
-                      payloadBuilder.toString().getBytes(StandardCharsets.UTF_8)));
+                      payload.getBytes(StandardCharsets.UTF_8)));
               keys.add(classNamingForNameMapper.renamedName);
             });
     MapVersion mapVersion = MapVersion.MAP_VERSION_UNKNOWN;