RE: Status/Todo (all in one place)

2009-08-18 Thread Digy
Current Status of Lucene.Net 2.4.0: All unit tests passes and it is a good candidate for a release. There are only 2 waiting issues which don't have to be fixed. 1) File Descriptor syncing in FSDirectory.cs [System.Runtime.InteropServices.DllImport("kernel32")] public

[jira] Closed: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy (JIRA)
[ https://issues.apache.org/jira/browse/LUCENENET-190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Digy closed LUCENENET-190. -- Resolution: Fixed Assignee: Digy I committed the patches and will close the issue. But better LRUCache

RE: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy
Hi Andrei, Yes, there are a lof of collection libraries around. But licensing issues can be a problem and I also don't like external dependencies. So I prefer home-made ones. DIGY. -Original Message- From: Andrei Alecu [mailto:and...@tachyon-labs.com] Sent: Wednesday, August 19, 200

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Andrei Alecu
An alternative collection library is NGenerics. See: http://code.google.com/p/ngenerics/wiki/RedBlackTree http://code.google.com/p/ngenerics/ There are a bunch of other types of Queues or Trees in it that may be useful. On 8/18/2009 5:12 PM, Digy wrote: SortedDictionary does not have a gett

[jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy (JIRA)
[ https://issues.apache.org/jira/browse/LUCENENET-190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Digy updated LUCENENET-190: --- Attachment: SimpleLRUCache.rar I attached a new patch including the suggestions by Andrei. Now we have 3

RE: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy
-I made that test with 100,000 puts and(assuming gets will be more) with 600,000 gets. -The default cache size for lucene is 1024. So I made that test for 1024 -I also assumed that there are no more than 500,000 distinct terms(keys). With those in mind, I can not say that one code is better than

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
Digy : Thanks for the code. I made some (primitive) performance tests. I seems to be ~20-25% slower. Thanks for test. I also run a very basic test. For default capacity of 1024 SortedDictionary is a little bit slower if the number of calling Put method (cache.Put(random.Next(iter), new

RE: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy
Thanks for the code. I made some (primitive) performance tests. I seems to be ~20-25% slower. DIGY -Original Message- From: x...@mail.ru [mailto:x...@mail.ru] Sent: Tuesday, August 18, 2009 8:19 PM To: lucene-net-dev@incubator.apache.org Subject: Re: [jira] Updated: (LUCENENET-190) 2.4.

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
Digy : I couldn't find a method like Keys.First(). I found what is the problem. Method First() exists only for Framework 3.5. For Framework 2.0 some work around requied : SortedDictionary.Enumerator EnumTimeStamps = TimeStamps.GetEnumerator(); // This method is an O(1)

Re: Graduation

2009-08-18 Thread Ben Martz
That would be terrific, thank you George. Please contact me off the list if I can help with it in any way (even proofreading and such). -- Ben On Tue, Aug 18, 2009 at 5:24 AM, George Aroush wrote: > I meant to write this for some time now, I will do so in few days post here > and on the Lucene.

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
Digy wrote: I couldn't find a method like Keys.First(). SortedDictionary<(Of <(TKey, TValue>)>)..::.Keys Property returns SortedDictionary<(Of <(TKey, TValue>)>)..::.KeyCollection, KeyCollection has a method First(). Why don't you send your own working copy of LRUCache. If it is faster, we

RE: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy
I couldn't find a method like Keys.First(). Why don't you send your own working copy of LRUCache. If it is faster, we can use it. DIGY -Original Message- From: x...@mail.ru [mailto:x...@mail.ru] Sent: Tuesday, August 18, 2009 5:58 PM To: lucene-net-dev@incubator.apache.org Subject: Re

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
Digy пишет: This time you will get an error with "TimeStamps.Keys[0]". To get the key at index 0, you have to copy the "keys" to a temporary array. Ok i missed that Keys returns KeyCollection instead of an array. But you can use Keys.First() instead of Keys[0]. It should be fast. DIG

RE: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy
This time you will get an error with "TimeStamps.Keys[0]". To get the key at index 0, you have to copy the "keys" to a temporary array. DIGY. -Original Message- From: x...@mail.ru [mailto:x...@mail.ru] Sent: Tuesday, August 18, 2009 5:24 PM To: lucene-net-dev@incubator.apache.org Subje

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
Digy wrote: SortedDictionary does not have a getter with index (like Data[Index]). In a SortedList, Data[0] is always the LRU item. I didn't find any use of index access for SortedList (TimeStamps) except of : if (Data.Count > Capacity) { lo

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
Digy wrote: SortedDictionary does not have a getter with index (like Data[Index]). In a SortedList, Data[0] is always the LRU item. I didn't find any use of index access for SortedList (TimeStamps) except of : if (Data.Count > Capacity) { lo

RE: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread Digy
SortedDictionary does not have a getter with index (like Data[Index]). In a SortedList, Data[0] is always the LRU item. I got much more better results with RedBlackCS.RedBlack ( http://www.codeproject.com/KB/recipes/redblackcs.aspx ) but it is huge and there may be licensing problems. DIGY.

Re: [jira] Updated: (LUCENENET-190) 2.4.0 Performance in TermInfosReader term caching (New implementation of SimpleLRUCache)

2009-08-18 Thread x...@mail.ru
SimpleLRUCache_LUCENENET_190 uses SortedList collection. Performance of SortedList (see http://msdn.microsoft.com/en-us/library/ms132339.aspx): 1) Add method is an O(n) operation for unsorted data. It is an O(log n) operation if the new element is added at the end of the list. If insertion caus

RE: Graduation

2009-08-18 Thread Granroth, Neal V.
George, That document has so many "TODO"s in the content I am not sure it is usable. Regardless of the tagged version the community wishes to release (2.3.1, 2.3.2, ...), what's the next step? -- Neal -Original Message- From: George Aroush [mailto:geo...@aroush.net] Sent: Monday, August

Lucene.net tutorials

2009-08-18 Thread Ed Jones
Hi guys, Thanks for the comments but I've been following Lucene.net a number of years now and bought Lucene in Action as a guide as I couldn't find examples then. It's but to a non Java and non c# person it's really heavy going and it's just simple things like include files which stops the take-up

RE: Graduation

2009-08-18 Thread George Aroush
I meant to write this for some time now, I will do so in few days post here and on the Lucene.Net incubation web page. -- George -Original Message- From: Ben Martz [mailto:benma...@gmail.com] Sent: Tuesday, August 18, 2009 3:35 AM To: lucene-net-dev@incubator.apache.org Subject: Re: Grad

RE: Graduation

2009-08-18 Thread George Aroush
In addition to Ben's comment, you can buy "Lucene in Action" to get you started. The book is Java based, but as Ben pointed out, not only are the API's 1-to-1 ported, the entire logic is too. Also, the test code is a good place to start if you are looking for examples of how to use a specific fea

Re: Graduation

2009-08-18 Thread Ben Martz
Since one of the graduation requirements is the community involvement and active contributors, I did want to bring up one small issue again. It would be very helpful if one of the current major contributors wouldn't mind writing up a brief porting guide and posting it to the main project site pleas

Re: Graduation

2009-08-18 Thread Ben Martz
Definitely not the right thread for this - I'd recommend starting a new thread next time please. That being said, If you're comfortable with C#, you'll notice that one of the great things about the Lucene.Net project is that it's a API-level port so pretty much all of the java examples will run as-