lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prescott Nasser (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENENET-480) Investigate what needs to happen to make both .NET 3.5 and 4.0 builds possible
Date Thu, 14 Jun 2012 16:14:54 GMT

    [ https://issues.apache.org/jira/browse/LUCENENET-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13295135#comment-13295135
] 

Prescott Nasser commented on LUCENENET-480:
-------------------------------------------

Attempting to compile the trunk in 3.5 yields 54 errors, however many of them are the same
thing:

1. ISet doesn't exist in 3.5. I believe we can safely change all ISet to HashSet.
2. SortedSet doesn't exist in 3.5. There is no drop in replacement, we could either create
a SortedSet class that inherits HashSet, we have to be careful how we implement this to avoid
too big a penalty in sorting
3. Two internal Func<>'s will have to be turned into actual methods, not anonymous functions
4. ThreadLocal - Digy nicely included a class ThreadLocal that we could put compile flags
around if compiling for version 3.5
5. Task in the parallelmultisearcher would need to be replaced, I'm not sure atm how to accomplish
that - we could remove this searcher all together in the 3.5 binary.

Please provide further comments if you have any, otherwise I'm going to try and work on these
this weekend

                
> Investigate what needs to happen to make both .NET 3.5 and 4.0 builds possible
> ------------------------------------------------------------------------------
>
>                 Key: LUCENENET-480
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-480
>             Project: Lucene.Net
>          Issue Type: Task
>          Components: Lucene.Net Contrib, Lucene.Net Core, Lucene.Net Demo, Lucene.Net
Test
>    Affects Versions: Lucene.Net 2.9.4, Lucene.Net 2.9.4g, Lucene.Net 3.0.3
>            Reporter: Christopher Currens
>
> We need to investigate what needs to be done with the source to be able to support both
a .NET 3.5 and 4.0 build.  There was some concern from at least one member of the community
([see here|http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-dev/201202.mbox/%3C004b01cce111$871f4990$955ddcb0$@fr%3E])
that we've alienated some of our user base by making such a heavy jump from 2.0 to 4.0.  There
are major benefits to using 4.0 over the 2.0-based runtimes, specifically FAR superior memory
management, particularly with the LOH, where Lucene.NET has had major trouble with in the
past.
> Based on what has been done with Lucene.NET 3.0.3, we can't (easily) drop .NET 3.5/3.0
libraries and go back to 2.0.  HashSet<T> and ISet<T> is used extensively in the
code, that would be a major blocker to get done.  I suppose it could be possible, but there
hasn't been a whole lot of talk about what runtimes we intend to support.  The big change
between lucene 2.x and 3.x for java was also a change in runtimes, that allowed generics and
enums to be used in the base code.  We have a similar situation with the API (it's substantially
different, with the addition of properties alone) for this next version of Lucene.NET, so
I think it's reasonable to at least make a permanent move from 2.0 to 3.5, though that's only
my opinion, hasn't been discussed with the committers.
> It seems that supporting 3.5 and 4.0 should be fairly easy, and is a decent compromise
in supporting both a 2.0 and 4.0 runtime.  At the very least, we should try our best to support
it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message