lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [lucenenet] NightOwl888 opened a new pull request #389: Revert FieldCacheImpl delegate capture (Fixes #370, Closes #371)
Date Tue, 10 Nov 2020 21:15:03 GMT

NightOwl888 opened a new pull request #389:
URL: https://github.com/apache/lucenenet/pull/389


   As was discussed in #371, we are definitely seeing a negative impact with this change that
was introduced in #348 with commit https://github.com/apache/lucenenet/commit/34758c1315391794825f33a3f48b5a3dd6083745.
This PR reverts that commit and removes the unnecessary fields from the "anonymous" classes.
   
   ## Benchmarks
   
   ### IndexFiles
   <details>
     <summary>Click to expand</summary>
   
   ``` ini
   
   BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19041.572 (2004/?/20H1)
   Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
   .NET Core SDK=3.1.403
     [Host]             : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00005    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00006    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00007    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00008    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00009    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00010    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00011    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00012    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-wip09_before : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-wip10_after  : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
   
   InvocationCount=1  IterationCount=15  LaunchCount=2  
   UnrollFactor=1  WarmupCount=10  
   
   ```
   |     Method |                Job |                               NuGetReferences |   
 Mean |    Error |   StdDev |      Gen 0 |     Gen 1 |     Gen 2 | Allocated |
   |----------- |------------------- |---------------------------------------------- |---------:|---------:|---------:|-----------:|----------:|----------:|----------:|
   | IndexFiles |    4.8.0-beta00005 |    Lucene.Net.Analysis.Common 4.8.0-beta00005 | 628.7
ms |  8.56 ms | 12.55 ms | 43000.0000 | 8000.0000 | 7000.0000 | 220.78 MB |
   | IndexFiles |    4.8.0-beta00006 |    Lucene.Net.Analysis.Common 4.8.0-beta00006 | 614.4
ms |  8.24 ms | 11.28 ms | 43000.0000 | 8000.0000 | 7000.0000 | 220.73 MB |
   | IndexFiles |    4.8.0-beta00007 |    Lucene.Net.Analysis.Common 4.8.0-beta00007 | 627.2
ms | 12.90 ms | 18.51 ms | 44000.0000 | 8000.0000 | 7000.0000 | 220.65 MB |
   | IndexFiles |    4.8.0-beta00008 |    Lucene.Net.Analysis.Common 4.8.0-beta00008 | 603.9
ms |  8.15 ms | 11.42 ms | 43000.0000 | 8000.0000 | 7000.0000 | 220.96 MB |
   | IndexFiles |    4.8.0-beta00009 |    Lucene.Net.Analysis.Common 4.8.0-beta00009 | 623.6
ms | 11.10 ms | 15.92 ms | 44000.0000 | 8000.0000 | 7000.0000 | 220.92 MB |
   | IndexFiles |    4.8.0-beta00010 |    Lucene.Net.Analysis.Common 4.8.0-beta00010 | 612.4
ms | 11.47 ms | 16.07 ms | 44000.0000 | 8000.0000 | 7000.0000 | 220.92 MB |
   | IndexFiles |    4.8.0-beta00011 |    Lucene.Net.Analysis.Common 4.8.0-beta00011 | 622.0
ms | 13.63 ms | 20.40 ms | 43000.0000 | 8000.0000 | 7000.0000 | 220.96 MB |
   | IndexFiles |    4.8.0-beta00012 |    Lucene.Net.Analysis.Common 4.8.0-beta00012 | 659.4
ms | 13.05 ms | 19.13 ms | 56000.0000 | 7000.0000 | 6000.0000 | 286.57 MB |
   | IndexFiles | 4.8.0-wip09_before | Lucene.Net.Analysis.Common 4.8.0-ci0000002232 | 705.6
ms | 53.68 ms | 80.35 ms | 43000.0000 | 8000.0000 | 7000.0000 | 219.96 MB |
   | IndexFiles |  4.8.0-wip10_after | Lucene.Net.Analysis.Common 4.8.0-ci0000002236 | 637.8
ms | 12.61 ms | 18.48 ms | 43000.0000 | 8000.0000 | 7000.0000 | 219.82 MB |
   
   </details>
   
   ### SearchFiles
   <details>
     <summary>Click to expand</summary>
   
   ``` ini
   
   BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19041.572 (2004/?/20H1)
   Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
   .NET Core SDK=3.1.403
     [Host]             : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00005    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00006    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00007    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00008    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00009    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00010    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00011    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-beta00012    : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-wip09_before : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
     4.8.0-wip10_after  : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203),
X64 RyuJIT
   
   IterationCount=15  LaunchCount=2  WarmupCount=10  
   
   ```
   |      Method |                Job |                                                  
                      NuGetReferences |     Mean |   Error |   StdDev |      Gen 0 |     Gen
1 | Gen 2 | Allocated |
   |------------ |------------------- |----------------------------------------------------------------------------------------
|---------:|--------:|---------:|-----------:|----------:|------:|----------:|
   | SearchFiles |    4.8.0-beta00005 |       Lucene.Net.Analysis.Common 4.8.0-beta00005,Lucene.Net.QueryParser
4.8.0-beta00005 | 202.4 ms | 7.06 ms | 10.57 ms | 13000.0000 | 1000.0000 |     - |  61.74
MB |
   | SearchFiles |    4.8.0-beta00006 |       Lucene.Net.Analysis.Common 4.8.0-beta00006,Lucene.Net.QueryParser
4.8.0-beta00006 | 207.9 ms | 7.74 ms | 11.59 ms | 13000.0000 | 1000.0000 |     - |  61.74
MB |
   | SearchFiles |    4.8.0-beta00007 |       Lucene.Net.Analysis.Common 4.8.0-beta00007,Lucene.Net.QueryParser
4.8.0-beta00007 | 203.9 ms | 7.58 ms | 11.34 ms | 13000.0000 | 1000.0000 |     - |  61.58
MB |
   | SearchFiles |    4.8.0-beta00008 |       Lucene.Net.Analysis.Common 4.8.0-beta00008,Lucene.Net.QueryParser
4.8.0-beta00008 | 120.4 ms | 1.22 ms |  1.82 ms | 13000.0000 |         - |     - |  60.24
MB |
   | SearchFiles |    4.8.0-beta00009 |       Lucene.Net.Analysis.Common 4.8.0-beta00009,Lucene.Net.QueryParser
4.8.0-beta00009 | 118.0 ms | 4.73 ms |  7.08 ms | 13000.0000 |  200.0000 |     - |  60.24
MB |
   | SearchFiles |    4.8.0-beta00010 |       Lucene.Net.Analysis.Common 4.8.0-beta00010,Lucene.Net.QueryParser
4.8.0-beta00010 | 121.8 ms | 5.55 ms |  8.30 ms | 13000.0000 |         - |     - |  60.03
MB |
   | SearchFiles |    4.8.0-beta00011 |       Lucene.Net.Analysis.Common 4.8.0-beta00011,Lucene.Net.QueryParser
4.8.0-beta00011 | 118.0 ms | 2.51 ms |  3.61 ms | 13000.0000 |         - |     - |  60.03
MB |
   | SearchFiles |    4.8.0-beta00012 |       Lucene.Net.Analysis.Common 4.8.0-beta00012,Lucene.Net.QueryParser
4.8.0-beta00012 | 117.0 ms | 1.95 ms |  2.74 ms | 13200.0000 |         - |     - |  60.98
MB |
   | SearchFiles | 4.8.0-wip09_before | Lucene.Net.Analysis.Common 4.8.0-ci0000002232,Lucene.Net.QueryParser
4.8.0-ci0000002232 | 114.5 ms | 3.62 ms |  5.31 ms | 10800.0000 |  200.0000 |     - |  49.46
MB |
   | SearchFiles |  4.8.0-wip10_after | Lucene.Net.Analysis.Common 4.8.0-ci0000002236,Lucene.Net.QueryParser
4.8.0-ci0000002236 | 112.3 ms | 1.58 ms |  2.26 ms | 10800.0000 |  200.0000 |     - |  49.46
MB |
   
   </details>
   
   This just uses inheritance on the numeric fields like we did originally and ignores the
fact that there is a constructor overload that uses a delegate (which is convenient, but a
bit slower).
   
   The number of searches has been increased from 1000 to 1500, which is why these numbers
are higher than prior benchmarks.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



Mime
View raw message