lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shad Storhaug (Jira)" <j...@apache.org>
Subject [jira] [Assigned] (LUCENENET-636) Port ConditionalWeakTable from .NET Core 3.x to .NET Standard 2.0
Date Sat, 04 Jan 2020 15:28:00 GMT

     [ https://issues.apache.org/jira/browse/LUCENENET-636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Shad Storhaug reassigned LUCENENET-636:
---------------------------------------

    Assignee: Shad Storhaug

> Port ConditionalWeakTable from .NET Core 3.x to .NET Standard 2.0
> -----------------------------------------------------------------
>
>                 Key: LUCENENET-636
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-636
>             Project: Lucene.Net
>          Issue Type: Task
>          Components: Lucene.Net Core, Lucene.Net.Facet, Lucene.Net.Spatial, Lucene.Net.TestFramework
>    Affects Versions: Lucene.Net 4.8.0
>            Reporter: Shad Storhaug
>            Assignee: Shad Storhaug
>            Priority: Major
>              Labels: help-wanted, up-for-grabs
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> As per LUCENENET-610, the WeakDictionary that has been created to support FieldCache
and a few other Lucene.NET features does not perform well enough in highly concurrent environments.
> The [ConditionalWeakTable<TKey, TValue>|https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.conditionalweaktable-2]
is a suitable replacement on .NET Standard 2.1, but on .NET Standard 2.0, it doesn't expose
the enumerator or the {{AddOrUpdate}} method. All of Lucene.NET's usages require one or the
other.
> So, it would definitely be worth the effort to port the full implementation to .NET Standard
2.0.
> This port should be added to [J2N|https://github.com/NightOwl888/J2N] in the {{J2N.Runtime.CompilerServices}}
namespace (to match .NET's namespace convention).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message