Skip to content

Commit 07d6808

Browse files
committed
perf: don't call Arrays.toString on frequently called methods
1 parent c50c5f8 commit 07d6808

2 files changed

Lines changed: 26 additions & 6 deletions

File tree

core/src/main/java/net/staticstudios/data/DataManager.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ private void addRedisUpdateHandler(String partialKey, CachedValueUpdateHandlerWr
150150
}
151151

152152
public void callPersistentValueUpdateHandlers(List<String> columnNames, String schema, String table, String column, Object[] oldSerializedValues, Object[] newSerializedValues) {
153-
logger.trace("Calling update handlers for {}.{}.{} with old values {} and new values {}", schema, table, column, Arrays.toString(oldSerializedValues), Arrays.toString(newSerializedValues));
153+
logger.trace("Calling update handlers for {}.{}.{} with old values {} and new values {}", schema, table, column, LazyArrayToString.of(oldSerializedValues), LazyArrayToString.of(newSerializedValues));
154154
Map<String, List<ValueUpdateHandlerWrapper<?, ?>>> handlersForColumn = persistentValueUpdateHandlers.get(schema + "." + table + "." + column);
155155
if (handlersForColumn == null) {
156156
return;
@@ -287,7 +287,7 @@ public void callCachedValueUpdateHandlers(String partialKey, List<String> encode
287287
}
288288

289289
public void callCollectionChangeHandlers(List<String> columnNames, String schema, String table, List<String> changedColumns, Object[] oldSerializedValues, Object[] newSerializedValues, TriggerCause cause, @Nullable UniqueData snapshot) {
290-
logger.trace("Calling collection change handlers for {}.{} on changed columns {} with old values {} and new values {}", schema, table, changedColumns, Arrays.toString(oldSerializedValues), Arrays.toString(newSerializedValues));
290+
logger.trace("Calling collection change handlers for {}.{} on changed columns {} with old values {} and new values {}", schema, table, changedColumns, LazyArrayToString.of(oldSerializedValues), LazyArrayToString.of(newSerializedValues));
291291
Map<String, List<CollectionChangeHandlerWrapper<?, ?>>> handlersForTable = collectionChangeHandlers.get(schema + "." + table);
292292
if (handlersForTable == null) {
293293
return;
@@ -635,7 +635,7 @@ private UniqueData getInstanceForReferenceUpdateHandler(ReferenceMetadata metada
635635
}
636636

637637
public void callReferenceUpdateHandlers(List<String> columnNames, String schema, String table, List<String> changedColumns, Object[] oldSerializedValues, Object[] newSerializedValues, TriggerCause cause) {
638-
logger.trace("Calling reference update handlers for {}.{} on changed columns {} with old values {} and new values {}", schema, table, changedColumns, Arrays.toString(oldSerializedValues), Arrays.toString(newSerializedValues));
638+
logger.trace("Calling reference update handlers for {}.{} on changed columns {} with old values {} and new values {}", schema, table, changedColumns, LazyArrayToString.of(oldSerializedValues), LazyArrayToString.of(newSerializedValues));
639639
Map<String, List<ReferenceUpdateHandlerWrapper<?, ?>>> handlersForTable = referenceUpdateHandlers.get(schema + "." + table);
640640
if (handlersForTable == null) {
641641
return;
@@ -999,7 +999,7 @@ public void handleDelete(List<String> columnNames, String schema, String table,
999999
break;
10001000
}
10011001
}
1002-
Preconditions.checkArgument(found, "Not all ID columnsInReferringTable were provided for UniqueData class %s. Required: %s, Provided: %s", uniqueDataMetadata.clazz().getName(), uniqueDataMetadata.idColumns(), Arrays.toString(values));
1002+
Preconditions.checkArgument(found, "Not all ID columnsInReferringTable were provided for UniqueData class %s. Required: %s, Provided: %s", uniqueDataMetadata.clazz().getName(), uniqueDataMetadata.idColumns(), LazyArrayToString.of(values));
10031003
}
10041004

10051005
Map<ColumnValuePairs, UniqueData> classCache = uniqueDataInstanceCache.get(uniqueDataMetadata.clazz().getName());
@@ -1046,7 +1046,7 @@ public void updateIdColumns(List<String> columnNames, String schema, String tabl
10461046
break;
10471047
}
10481048
}
1049-
Preconditions.checkArgument(found, "Not all ID columnsInReferringTable were provided for UniqueData class %s. Required: %s, Provided: %s", uniqueDataMetadata.clazz().getName(), uniqueDataMetadata.idColumns(), Arrays.toString(oldValues));
1049+
Preconditions.checkArgument(found, "Not all ID columnsInReferringTable were provided for UniqueData class %s. Required: %s, Provided: %s", uniqueDataMetadata.clazz().getName(), uniqueDataMetadata.idColumns(), LazyArrayToString.of(oldValues));
10501050
}
10511051
if (Arrays.equals(oldIdColumns, newIdColumns)) {
10521052
return;
@@ -1781,7 +1781,7 @@ private Set<Cell> resolveCells(List<String> columnNames, String schema, String t
17811781
break;
17821782
}
17831783
}
1784-
Preconditions.checkArgument(found, "Not all ID columnsInReferringTable were provided for UniqueData class %s. Required: %s, Provided: %s", metadata.clazz().getName(), metadata.idColumns(), Arrays.toString(values));
1784+
Preconditions.checkArgument(found, "Not all ID columnsInReferringTable were provided for UniqueData class %s. Required: %s, Provided: %s", metadata.clazz().getName(), metadata.idColumns(), LazyArrayToString.of(values));
17851785
}
17861786

17871787
ColumnValuePairs idCols = new ColumnValuePairs(idColumns);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package net.staticstudios.data.util;
2+
3+
import java.util.Arrays;
4+
5+
public class LazyArrayToString {
6+
private final Object[] arr;
7+
8+
public LazyArrayToString(Object[] arr) {
9+
this.arr = arr;
10+
}
11+
12+
public static LazyArrayToString of(Object[] arr) {
13+
return new LazyArrayToString(arr);
14+
}
15+
16+
@Override
17+
public String toString() {
18+
return Arrays.toString(arr);
19+
}
20+
}

0 commit comments

Comments
 (0)