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


Reply via email to