lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jack Krupansky" <>
Subject Re: RAMDirectory unexpectedly slows
Date Mon, 04 Jun 2012 14:30:35 GMT
>From the javadoc for RAMDirectory:

"Warning: This class is not intended to work with huge indexes. Everything 
beyond several hundred megabytes will waste resources (GC cycles), because 
it uses an internal buffer size of 1024 bytes, producing millions of 
byte[1024] arrays. This class is optimized for small memory-resident 
indexes. It also has bad concurrency on multithreaded environments.

It is recommended to materialize large indexes on disk and use 
MMapDirectory, which is a high-performance directory implementation working 
directly on the file system cache of the operating system, so copying data 
to Java heap space is not useful."

-- Jack Krupansky

-----Original Message----- 
From: Cheng
Sent: Monday, June 04, 2012 10:08 AM
Subject: RAMDirectory unexpectedly slows


My apps need to read from and write to some big indexes frequently. So I
use RAMDirectory instead of FSDirectory, and give JVM about 2GB memory

I notice that the speed of reading and writing unexpectedly slows as the
size of the indexes increases. Since the usage of RAM is less than 20%, I
think by default the RAMDirectory doesn't take advantage of the memory I
assigned to JVM.

What are the steps to improve the reading and writing speed of


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message