[ https://issues.apache.org/jira/browse/LUCENE-10517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17522838#comment-17522838 ]
Chris Hegarty commented on LUCENE-10517: ---------------------------------------- I my M1 I get the following luceneutil benchmark results. $ sw_vers ProductName: macOS ProductVersion: 11.5.2 BuildVersion: 20G95 $ uname -a Darwin chegar-MBP.local 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:27 PDT 2021; root:xnu-7195.141.2~5/RELEASE_ARM64_T8101 arm64 $ sysctl -n machdep.cpu.brand_string Apple M1 $ system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro17,1 Chip: Apple M1 Total Number of Cores: 8 (4 performance and 4 efficiency) Memory: 16 GB System Firmware Version: 6723.140.2 OS Loader Version: 6723.140.2 Serial Number (system): FVFG731MQ05P Hardware UUID: 1D7BA696-DBDB-5E9C-BD46-5A18758DE699 Provisioning UDID: 00008103-000A05E001C0801E Activation Lock Status: Disabled {code:java} TaskQPS baseline StdDevQPS my_modified_version StdDev Pct diff p-value LowPhrase 148.35 (2.1%) 143.66 (2.6%) -3.2% ( -7% - 1%) 0.000 MedIntervalsOrdered 197.27 (3.7%) 191.24 (5.7%) -3.1% ( -12% - 6%) 0.044 HighIntervalsOrdered 11.55 (2.6%) 11.33 (3.5%) -1.9% ( -7% - 4%) 0.055 AndHighMed 447.74 (2.1%) 441.26 (2.4%) -1.4% ( -5% - 3%) 0.042 HighTerm 2397.60 (4.0%) 2367.10 (2.4%) -1.3% ( -7% - 5%) 0.223 LowTerm 3939.37 (2.7%) 3890.14 (2.3%) -1.2% ( -6% - 3%) 0.111 OrHighNotHigh 1917.21 (2.8%) 1893.94 (3.2%) -1.2% ( -6% - 4%) 0.198 HighPhrase 32.93 (1.9%) 32.55 (1.1%) -1.2% ( -4% - 1%) 0.022 PKLookup 340.11 (4.5%) 336.69 (4.3%) -1.0% ( -9% - 8%) 0.471 TermDTSort 145.39 (4.1%) 144.09 (2.3%) -0.9% ( -7% - 5%) 0.394 HighSpanNear 10.38 (3.7%) 10.32 (1.9%) -0.6% ( -5% - 5%) 0.531 MedSpanNear 206.69 (2.8%) 205.70 (1.5%) -0.5% ( -4% - 3%) 0.500 Fuzzy2 91.75 (2.5%) 91.41 (1.4%) -0.4% ( -4% - 3%) 0.562 OrHighNotMed 1975.22 (3.5%) 1968.91 (2.7%) -0.3% ( -6% - 6%) 0.744 OrHighMed 66.62 (3.9%) 66.45 (4.8%) -0.3% ( -8% - 8%) 0.850 LowSloppyPhrase 62.60 (2.1%) 62.44 (2.5%) -0.3% ( -4% - 4%) 0.726 OrHighNotLow 1876.16 (2.5%) 1871.56 (2.4%) -0.2% ( -5% - 4%) 0.756 OrHighHigh 55.70 (3.9%) 55.64 (4.9%) -0.1% ( -8% - 9%) 0.940 Fuzzy1 100.97 (2.2%) 100.88 (2.1%) -0.1% ( -4% - 4%) 0.898 LowIntervalsOrdered 42.24 (0.7%) 42.21 (1.0%) -0.1% ( -1% - 1%) 0.766 MedPhrase 923.85 (1.3%) 923.14 (1.6%) -0.1% ( -2% - 2%) 0.867 OrNotHighMed 1427.45 (2.0%) 1428.11 (2.5%) 0.0% ( -4% - 4%) 0.949 Respell 82.74 (2.6%) 82.81 (1.9%) 0.1% ( -4% - 4%) 0.903 LowSpanNear 373.63 (2.6%) 373.97 (1.6%) 0.1% ( -4% - 4%) 0.893 HighTermDayOfYearSort 199.64 (1.7%) 199.83 (2.5%) 0.1% ( -4% - 4%) 0.887 OrNotHighHigh 1523.02 (2.2%) 1526.12 (2.0%) 0.2% ( -3% - 4%) 0.759 AndHighMedDayTaxoFacets 185.23 (0.9%) 185.79 (1.4%) 0.3% ( -1% - 2%) 0.416 MedTerm 3016.98 (3.4%) 3026.53 (3.2%) 0.3% ( -6% - 7%) 0.761 OrNotHighLow 1867.65 (2.5%) 1876.63 (2.4%) 0.5% ( -4% - 5%) 0.535 AndHighLow 1571.61 (3.1%) 1579.86 (2.6%) 0.5% ( -5% - 6%) 0.564 OrHighLow 1485.93 (3.7%) 1494.56 (2.5%) 0.6% ( -5% - 7%) 0.559 AndHighHigh 80.42 (2.8%) 81.06 (1.7%) 0.8% ( -3% - 5%) 0.273 HighSloppyPhrase 50.68 (4.0%) 51.14 (4.7%) 0.9% ( -7% - 9%) 0.506 MedSloppyPhrase 40.76 (2.6%) 41.13 (3.6%) 0.9% ( -5% - 7%) 0.356 Wildcard 123.13 (7.3%) 124.34 (6.5%) 1.0% ( -11% - 15%) 0.654 AndHighHighDayTaxoFacets 17.77 (2.8%) 17.95 (2.7%) 1.0% ( -4% - 6%) 0.256 MedTermDayTaxoFacets 46.83 (2.6%) 47.38 (1.8%) 1.2% ( -3% - 5%) 0.097 HighTermMonthSort 193.35 (1.5%) 195.77 (5.4%) 1.2% ( -5% - 8%) 0.320 IntNRQ 69.13 (17.2%) 70.81 (16.2%) 2.4% ( -26% - 43%) 0.646 HighTermTitleBDVSort 198.10 (1.7%) 203.76 (7.8%) 2.9% ( -6% - 12%) 0.109 Prefix3 183.52 (9.3%) 188.79 (7.7%) 2.9% ( -12% - 21%) 0.287 OrHighMedDayTaxoFacets 14.45 (16.8%) 15.30 (11.1%) 5.9% ( -18% - 40%) 0.191 BrowseRandomLabelSSDVFacets 16.23 (7.5%) 18.27 (8.8%) 12.6% ( -3% - 31%) 0.000 BrowseDayOfYearSSDVFacets 28.25 (19.0%) 31.82 (11.8%) 12.6% ( -15% - 53%) 0.011 BrowseMonthSSDVFacets 21.41 (7.6%) 24.52 (11.7%) 14.5% ( -4% - 36%) 0.000 BrowseDateSSDVFacets 3.64 (14.6%) 4.18 (15.0%) 14.8% ( -12% - 51%) 0.001 BrowseDayOfYearTaxoFacets 34.48 (30.7%) 40.34 (25.7%) 17.0% ( -30% - 105%) 0.058 BrowseDateTaxoFacets 34.36 (30.7%) 40.24 (25.6%) 17.1% ( -29% - 105%) 0.056 BrowseMonthTaxoFacets 31.97 (35.3%) 40.02 (29.1%) 25.2% ( -28% - 138%) 0.014 BrowseRandomLabelTaxoFacets 39.74 (46.9%) 51.86 (42.8%) 30.5% ( -40% - 226%) 0.032 {code} > Improve performance of SortedSetDV faceting by iterating on class types > ----------------------------------------------------------------------- > > Key: LUCENE-10517 > URL: https://issues.apache.org/jira/browse/LUCENE-10517 > Project: Lucene - Core > Issue Type: Bug > Components: core/index > Affects Versions: 9.1 > Reporter: Chris Hegarty > Priority: Minor > > SortedSetDV faceting (and friends), can improve performance within tight > loops by using _invokevirtual_ (rather than _invokeinterface_). The C2 JIT > compiler can produce slightly more optimal code in this case, and since these > loops are very hot, the impact can be significant (in the order of 10-20%). > The code change amounts to using `SortedDocValues` or `SortedSetDocValues` > class types, rather than the `DocIdSetIterator` interface type, in loops > (specifically for invocation of `nextDoc()`, when the iterator type is known > and not wrapped. > This issue is in some ways similar, and builds upon, prior optimisations in > this area, like say LUCENE-5300. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org