From 988ffea412797a5a9d54de96a25b65b60b555345 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 25 Dec 2025 04:06:19 +0000 Subject: [PATCH] perf: Use String.repeat in GraphUtils Replaces a manual loop for indentation with `String.repeat()` in `GraphUtils.java`. This improves readability and avoids unnecessary loop overhead. Optimization: - Replaced `for` loop with `String.repeat(level)` for generating indentation strings. - Reduces loop overhead and potential buffer resizing. Verified with: - `bazel test //resolver:merger_tests` - `bazel test //resolver:checkstyle` --- .jules/bolt.md | 3 +++ .../main/java/net/evendanan/bazel/mvn/merger/GraphUtils.java | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 .jules/bolt.md diff --git a/.jules/bolt.md b/.jules/bolt.md new file mode 100644 index 0000000..8965f3d --- /dev/null +++ b/.jules/bolt.md @@ -0,0 +1,3 @@ +## 2024-12-25 - [Java String.repeat] +**Learning:** Simple loops for string repetition can be replaced with `String.repeat` in Java 11+. This is cleaner and often more efficient as it reduces loop overhead and buffer resizing. +**Action:** Look for loop-based string repetition patterns in Java code and replace with `String.repeat`. diff --git a/resolver/src/main/java/net/evendanan/bazel/mvn/merger/GraphUtils.java b/resolver/src/main/java/net/evendanan/bazel/mvn/merger/GraphUtils.java index 6082218..bda2d49 100644 --- a/resolver/src/main/java/net/evendanan/bazel/mvn/merger/GraphUtils.java +++ b/resolver/src/main/java/net/evendanan/bazel/mvn/merger/GraphUtils.java @@ -30,9 +30,8 @@ static String printGraph(Collection resolutions) { dfsTraveller( resolutions, (dependency, level) -> { - for (int i = 0; i < level; i++) { - builder.append(" "); - } + // Optimization: Use String.repeat to avoid loop for indentation + builder.append(" ".repeat(level)); builder .append(dependencyTools.mavenCoordinates(dependency))