From: Wolfgang M. M. <wol...@us...> - 2004-08-12 18:54:34
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/storage/store In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11331/src/org/exist/storage/store Modified Files: DOMFile.java BFile.java Log Message: Switched back to simple LRU page replacement strategy for document data in dom.dbx. As every page is accessed at most two times during storage, the LRDCache did not work very well. Improved the LRU implementation. Index: DOMFile.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/store/DOMFile.java,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** DOMFile.java 11 Aug 2004 12:47:01 -0000 1.47 --- DOMFile.java 12 Aug 2004 18:54:21 -0000 1.48 *************** *** 48,51 **** --- 48,52 ---- import org.exist.storage.cache.Cacheable; import org.exist.storage.cache.ClockCache; + import org.exist.storage.cache.LRUCache; import org.exist.util.ByteConversion; import org.exist.util.Lock; *************** *** 127,131 **** fileHeader.setPageCount(0); fileHeader.setTotalCount(0); ! dataCache = new ClockCache(dataBuffers); dataCache.setFileName("dom.dbx"); --- 128,132 ---- fileHeader.setPageCount(0); fileHeader.setTotalCount(0); ! dataCache = new LRUCache(dataBuffers); dataCache.setFileName("dom.dbx"); Index: BFile.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/store/BFile.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** BFile.java 12 Aug 2004 08:07:09 -0000 1.31 --- BFile.java 12 Aug 2004 18:54:21 -0000 1.32 *************** *** 483,488 **** private DataPage getDataPage(long pos, boolean initialize) throws IOException { ! DataPage wp = null; ! wp = (DataPage) dataCache.get(pos); if (wp == null) { final Page page = getPage(pos); --- 483,487 ---- private DataPage getDataPage(long pos, boolean initialize) throws IOException { ! DataPage wp = (DataPage) dataCache.get(pos); if (wp == null) { final Page page = getPage(pos); *************** *** 685,689 **** page.setData(data); page.setDirty(true); ! dataCache.add(page); return StorageAddress.createPointer((int) page.getPageNum(), (short) 1); --- 684,688 ---- page.setData(data); page.setDirty(true); ! // dataCache.add(page); return StorageAddress.createPointer((int) page.getPageNum(), (short) 1); *************** *** 1274,1278 **** public OverflowPage(DataPage page) { ! firstPage = (SinglePage) page; } --- 1273,1277 ---- public OverflowPage(DataPage page) { ! firstPage = (SinglePage) page; } |