Doug Cutting wrote:
I replaced InputStream with IndexInput and BufferedIndexInput, so buffering is now optional. InputStream is now deprecated and one can also now subclass FSDirectory.
Still to do:
1. Replace OutputStream with IndexOutput and BufferedIndexOutput. This is not critical and mostly for consistency, as mmap makes more sense for read-only data.
2. Update RAMDirectory and FSDirectory to no longer use deprecated classes. This is done last, to make sure that the earlier steps to not break back-compatibility for existing Directory implementations.
Also, I've implemented an mmap-based subclass of FSDirectory in C++ using GCJ. Any objections to checking this in under src/gcj?
I think it's a great idea to do such things, esp if the code at runtime can gracefully take advantage of the native code and fall back to pure java otherwise. The goal is "maximum user delight" to use Steve Balmers phrase.
It's not yet much faster than the pure Java implementation, but perhaps it can be made faster, and it also provides an example of how to extend Lucene with C++ in GCJ, which might eventually lead to some big speedups.
Doug
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]