nfsantos commented on code in PR #2146:
URL: https://github.com/apache/jackrabbit-oak/pull/2146#discussion_r1984585531
##########
oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java:
##########
@@ -89,7 +90,7 @@ public static PropertyState createProperty(
String name, Iterable<Value> values)
throws RepositoryException {
int type = PropertyType.STRING;
- Value first = Iterables.getFirst(values, null);
+ Value first = StreamUtils.toStream(values).findFirst().orElse(null);
Review Comment:
This might be introducing a performance regression. `Iterables.getFirst`
does not allocate any object, while `StreamUtils.toStream()` creates an object
internally. And the code path of `Iterables.getFirst` is much shorter, so
potentially faster than the Guava equivalent. This method, `createProperty()`,
is likely performance critical, so I'm worried this could significantly degrade
performance of some parts of Oak.
In general, I'm concerned about all these patches removing Guava. We have
tests for correctness (and even with those tests, these patches have broken the
build several times). But we do not have any performance regression tests, so
these patches may be degrading the performance without us realising.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]