MMapDirectory speedups
----------------------
Key: LUCENE-2816
URL: https://issues.apache.org/jira/browse/LUCENE-2816
Project: Lucene - Java
Issue Type: Improvement
Components: Store
Affects Versions: 3.1, 4.0
Reporter: Robert Muir
Assignee: Robert Muir
MMapDirectory has some performance problems:
# When the file is larger than Integer.MAX_VALUE, we use MultiMMapIndexInput,
which does a lot of unnecessary bounds-checks for its buffer-switching etc.
Instead, like MMapIndexInput, it should rely upon the contract of these
operations
in ByteBuffer (which will do a bounds check always and throw
BufferUnderflowException).
Our 'buffer' is so large (Integer.MAX_VALUE) that its rare this happens and
doing
our own bounds checks just slows things down.
# the readInt()/readLong()/readShort() are slow and should just defer to
ByteBuffer.readInt(), etc
This isn't very important since we don't much use these, but I think there's no
reason
users (e.g. codec writers) should have to readBytes() + wrap as bytebuffer +
get an
IntBuffer view when readInt() can be almost as fast...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]