[
https://issues.apache.org/jira/browse/LANG-1675?focusedWorklogId=683872&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-683872
]
ASF GitHub Bot logged work on LANG-1675:
----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Nov/21 09:45
Start Date: 19/Nov/21 09:45
Worklog Time Spent: 10m
Work Description: kinow commented on a change in pull request #812:
URL: https://github.com/apache/commons-lang/pull/812#discussion_r753025643
##########
File path: src/main/java/org/apache/commons/lang3/StringUtils.java
##########
@@ -3930,11 +3930,15 @@ public static String join(final boolean[] array, final
char delimiter, final int
if (endIndex - startIndex <= 0) {
return EMPTY;
}
- final StringJoiner joiner = newStringJoiner(delimiter);
+ final StringBuilder stringBuilder = new StringBuilder();
for (int i = startIndex; i < endIndex; i++) {
- joiner.add(String.valueOf(array[i]));
+ stringBuilder
+ .append(array[i])
+ .append(delimiter);
}
- return joiner.toString();
+ return stringBuilder
+ .deleteCharAt(stringBuilder.length() - 1)
+ .toString();
Review comment:
Interesting, I thought instead of `deleteChartAt` using an `if`
statement in the `for` above, to avoid adding the last `delimiter` would
improve more the performance. For a follow-up discussion I think.
--
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]
Issue Time Tracking
-------------------
Worklog Id: (was: 683872)
Time Spent: 3h 20m (was: 3h 10m)
> Improve performance of StringUtils.join for primitives.
> -------------------------------------------------------
>
> Key: LANG-1675
> URL: https://issues.apache.org/jira/browse/LANG-1675
> Project: Commons Lang
> Issue Type: Improvement
> Reporter: Hubert Wojciechowski
> Priority: Minor
> Time Spent: 3h 20m
> Remaining Estimate: 0h
>
> This is [~XenoAmess] comment from PR:
> [https://github.com/apache/commons-lang/pull/784]
> {noformat}
> Please look at the sources in JDK, where
> java.lang.AbstractStringBuilder#append(boolean b)
> In short, for basic types, should not convert them to String, but use
> StringBuilder directly, will bring far better performance.
> BUT I just foundout that you did not bring this issue, this issue is already
> in commons-lang before your pr.
> So I will not stop you from merging this in, but still I will find time to
> refactor the whole join serial functions later.
> {noformat}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)