ruanwenjun commented on a change in pull request #11754: URL: https://github.com/apache/kafka/pull/11754#discussion_r810426220
########## File path: clients/src/main/java/org/apache/kafka/common/utils/Utils.java ########## @@ -764,10 +764,7 @@ public static ByteBuffer ensureCapacity(ByteBuffer existingBuffer, int newLength */ @SafeVarargs public static <T> Set<T> mkSet(T... elems) { - Set<T> result = new HashSet<>((int) (elems.length / 0.75) + 1); - for (T elem : elems) - result.add(elem); - return result; + return new HashSet<>(Arrays.asList(elems)); Review comment: @splett2 Thanks for your review, I changed as you said ```java private Integer[] inits = new Integer[100]; @Setup(Level.Trial) public void setUp() { for (int i = 0; i < inits.length; i++) { inits[i] = ThreadLocalRandom.current().nextInt(); } } @Benchmark public void testCreateHashSet1() { Set<Integer> ints = new HashSet<>(Arrays.asList(inits)); } @Benchmark public void testCreateHashSet2() { Set<Integer> result = new HashSet<>((int) (inits.length / 0.75) + 1); for (Integer elem : inits) result.add(elem); } ``` The benchmark result is ``` Benchmark Mode Cnt Score Error Units CreateSetTest.testCreateHashSet1 avgt 20 0.002 ± 0.001 ms/op CreateSetTest.testCreateHashSet2 avgt 20 0.001 ± 0.001 ms/op ``` And change the order of two method the result is ``` Benchmark Mode Cnt Score Error Units CreateSetTest.testCreateHashSet2 avgt 20 0.002 ± 0.001 ms/op CreateSetTest.testCreateHashSet1 avgt 20 0.001 ± 0.001 ms/op ``` -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org