It's time to release the latest developments on Lucene.NET 4.8.0. Here are some 
of the highlights:


  1.  The NativeFSLockFactory has been patched so it works reliably cross-OS.
  2.  LurchTable has been fixed so it works on Xamarin.iOS.
  3.  The Lucene.Net.TestFramework is being released for the first time.
  4.  Two analysis modules, Lucene.Net.Analysis.OpenNLP and 
Lucene.Net.Analsis.Morfologik are also being released for the first time.
  5.  Performance has been improved.
  6.  .netstandard1.6 support has been dropped, and .netstandard2.1 support has 
been added.

Much of what used to be in Lucene.Net.Support has been cleaned up, documented, 
and moved to a new library named J2N. Benchmarks have been performed to 
optimize the code far better than it was. We have also taken advantage of .NET 
Core 3's hardware intrinsics APIs (https://s.apache.org/hardware-intrinsics) to 
get an extra boost if running on X86/X64 hardware.

How much has performance improved? It is difficult to tell. I am getting 
inconsistent results between running locally and on Azure DevOps. Running 
locally on my Coffee Lake processor, I am seeing increases of 200%-300% for 
some tests projects others have barely changed at all, on Azure DevOps, the 
improvements are only about 15%-20% for a complete test run.

Please perform your own benchmarks for both Lucene.NET 4.8.0-beta00006 and 
4.8.0-beta00007 on some realistic configuration and let us know the results so 
we can include some non-inflated expectations in the release announcement. 
Benchmark.NET is a great tool for this: 
https://github.com/dotnet/BenchmarkDotNet.

Upon this release, we can resolve the following open JIRA issues:

LUCENENET-615 - PerFieldAnalyzerWrapper.GetTokenStream throws 
NullReferenceException when first arg is null.
LUCENENET-612 - PerFieldAnalyzerWrapper usability issues due to lack of 
documentation
LUCENENET-621 - Failing Test: Lucene.Net.Search.TestSearchAfter::TestQueries()
LUCENENET-622 - Failing Test: 
Lucene.Net.Util.TestVersionComparer::TestVersions()
LUCENENET-617 - Deadlock caused by NativeFSLockFactory
LUCENENET-602 - Error using Lucene.Net.Facet 4.8.0-beta00005 with Xamarin.iOS
LUCENENET-614 - Make Lucene.Net.TestFramework functionality available to end 
users

Resolved for .NET Standard 2.1+ only:

LUCENENET-610 - Reduce locking in FieldCacheImpl::Cache::Get


Lucene.NET 4.8.0-beta00007

Test results of this release build: https://s.apache.org/test-results
The release artifacts can be downloaded from:  
https://dist.apache.org/repos/dist/dev/lucenenet/
The tag is: 
https://github.com/apache/lucenenet/releases/tag/Lucene.Net_4_8_0_beta00007

As usual, when you unzip the src release distribution, you can build and test 
(on Windows only) by running

build -t -mp:10

-t means to test
-mp is the maximum number of tests to in parallel

Do note that the .NET Framework 4.8 developer pack is now a prerequisite


This vote will close no sooner than 72 hours from now, i.e. sometime after 6:15 
UTC 29-December-2019. All Lucene.NET committers, PMC members, and dev mailing 
list members are encouraged to participate in the voting process. We only count 
the PMC as official votes, but the feedback of the community is also valuable.

+1 - It's a go
0 - Neutral, no opinion
-1 - Hold everything, we need to address...


Happy Holidays,
Shad Storhaug (NightOwl888)
Project Chairperson - Apache Lucene.NET

Reply via email to