[ https://issues.apache.org/jira/browse/LUCENE-10129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17421404#comment-17421404 ]
Uwe Schindler commented on LUCENE-10129: ---------------------------------------- The problem is not necessarily the reflection, it is simply becase the method cannot be inlined, because it contains many calls, e.g. the HashMap lookup for the component type. Arrays.getLength() is very fast, and getComponentType, too. It is the combination of calls that are hard to inline. > Add RamUsageEstimator shallowSizeOf(long[]) overload that just calls > sizeOf(long[])? > ------------------------------------------------------------------------------------ > > Key: LUCENE-10129 > URL: https://issues.apache.org/jira/browse/LUCENE-10129 > Project: Lucene - Core > Issue Type: Task > Reporter: Robert Muir > Priority: Major > > See LUCENE-10128 for an example. The problem is there is only a > {{sizeOf(long[])}}, so if the programmer uses {{shallowSizeOf}} instead of > {{sizeOf}} then it falls back to {{shallowSizeOf(Object)}} which does a bunch > of reflection. > This is pretty crazy because it can create performance traps. Should we just > add a {{shallowSizeOf(long[])}} that calls {{sizeOf(long[])}}, so that things > are fast? (same for other primitive arrays). It would solve the problem > easily I think. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org