[ https://issues.apache.org/jira/browse/SOLR-17190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822641#comment-17822641 ]
Michael Gibney commented on SOLR-17190: --------------------------------------- Another improvement: the size arg to {{org.apache.solr.util.LongSet}} ctor, like that of {{HashMap}}, configures the size of the backing element array; but as invoked in code it is used with the intention of sizing to accommodate a specific number of expected elements. This is fixed by replacing with hppc LongHashSet, whose ctor takes load factor into account and sizes the backing array appropriately. > Replace org.apache.solr.util.LongSet with hppc LongHashSet > ---------------------------------------------------------- > > Key: SOLR-17190 > URL: https://issues.apache.org/jira/browse/SOLR-17190 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Affects Versions: main (10.0), 9.5.0 > Reporter: Michael Gibney > Assignee: Michael Gibney > Priority: Minor > > The functionality provided by {{org.apache.solr.util.LongSet}} is redundant > to that provided by {{com.carrotsearch.hppc.LongHashSet}}. Since hppc is > already a dependency of solr-core, we should replace usages of > {{org.apache.solr.util.LongSet}} and remove/deprecate it. > The motivation for this is practical as well: the [hash function used by > org.apache.solr.util.LongSet|https://github.com/apache/solr/blob/148abec1a37b89f9bbd1835c239746773b374125/solr/core/src/java/org/apache/solr/util/LongSet.java#L78] > is quite suboptimal for certain common usage patterns (specifically, if the > values stored vary by powers of two (the larger the worse), values end up > disproportionately hashing to the same bucket and you basically have an array > scan for get and put). > This issue proposes to replace usages on {{main}} and {{branch_9x}}, remove > {{org.apache.solr.util.LongSet}} on main, and either remove it or deprecate > it on {{branch_9x}}. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org