MINOR: support ImplicitLinkedHashCollection#sort#10456
Conversation
|
Does this perform better than copying it to an array and using the standard library sort methods (that have been optimized over the years)? |
Good question. I wrote a JMH benchmark, and it looks like the standard array sort is 4x faster. I could try to optimize this, but since it's for a unit test, let's just use the array version as you suggested. I updated the PR. |
There was a problem hiding this comment.
Can we allocate with the right size?
ijuma
left a comment
There was a problem hiding this comment.
LGTM. One comment regarding allocating the array list with the right size.
There was a problem hiding this comment.
I assume we don't have an addAll method that has inherent perf advantages, right?
There was a problem hiding this comment.
The addAll for AbstractCollection is just a simple for loop.
Support sorting the elements in ImplicitLinkedHashCollection. This is useful sometimes in unit tests for comparing collections.
…e-allocations-lz4 * apache-github/trunk: (243 commits) KAFKA-12590: Remove deprecated kafka.security.auth.Authorizer, SimpleAclAuthorizer and related classes in 3.0 (apache#10450) KAFKA-3968: fsync the parent directory of a segment file when the file is created (apache#10405) KAFKA-12283: disable flaky testMultipleWorkersRejoining to stabilize build (apache#10408) MINOR: remove KTable.to from the docs (apache#10464) MONOR: Remove redudant LocalLogManager (apache#10325) MINOR: support ImplicitLinkedHashCollection#sort (apache#10456) KAFKA-12587 Remove KafkaPrincipal#fromString for 3.0 (apache#10447) KAFKA-12426: Missing logic to create partition.metadata files in RaftReplicaManager (apache#10282) MINOR: Improve reproducability of raft simulation tests (apache#10422) KAFKA-12474: Handle failure to write new session keys gracefully (apache#10396) KAFKA-12593: Fix Apache License headers (apache#10452) MINOR: Fix typo in MirrorMaker v2 documentation (apache#10433) KAFKA-12600: Remove deprecated config value `default` for client config `client.dns.lookup` (apache#10458) KAFKA-12952: Remove deprecated LogConfig.Compact (apache#10451) Initial commit (apache#10454) KAFKA-12575: Eliminate Log.isLogDirOffline boolean attribute (apache#10430) KAFKA-8405; Remove deprecated `kafka-preferred-replica-election` command (apache#10443) MINOR: Fix docs for end-to-end record latency metrics (apache#10449) MINOR Replaced File with Path in LogSegmentData. (apache#10424) KAFKA-12583: Upgrade netty to 4.1.62.Final ...
Implement an O(N log N) merge sort in ImplicitLinkedHashCollection.
This is useful sometimes in unit tests for comparing collections.