@Override public void optimize() { if (isFrozen()) throw new IllegalStateException("do not optimize after graph was frozen"); int delNodes = baseGraph.getRemovedNodes().getCardinality(); if (delNodes <= 0) return; // Deletes only nodes. // It reduces the fragmentation of the node space but introduces new unused edges. baseGraph.inPlaceNodeRemove(delNodes); // Reduce memory usage baseGraph.trimToSize(); }
@Test public void testSave_and_Freeze() throws IOException { graph = newGHStorage(new RAMDirectory(defaultGraphLoc, true), true).create(defaultSize); graph.edge(1, 0); graph.freeze(); graph.flush(); graph.close(); graph = newGHStorage(new MMapDirectory(defaultGraphLoc), true); assertTrue(graph.loadExisting()); assertEquals(2, graph.getNodes()); assertTrue(graph.isFrozen()); }
assertTrue(graph.isFrozen());
@Override public void optimize() { if (isFrozen()) throw new IllegalStateException("do not optimize after graph was frozen"); int delNodes = baseGraph.getRemovedNodes().getCardinality(); if (delNodes <= 0) return; // Deletes only nodes. // It reduces the fragmentation of the node space but introduces new unused edges. baseGraph.inPlaceNodeRemove(delNodes); // Reduce memory usage baseGraph.trimToSize(); }
@Override public void optimize() { if (isFrozen()) throw new IllegalStateException("do not optimize after graph was frozen"); int delNodes = baseGraph.getRemovedNodes().getCardinality(); if (delNodes <= 0) return; // Deletes only nodes. // It reduces the fragmentation of the node space but introduces new unused edges. baseGraph.inPlaceNodeRemove(delNodes); // Reduce memory usage baseGraph.trimToSize(); }
@Override public void optimize() { if (isFrozen()) throw new IllegalStateException("do not optimize after graph was frozen"); int delNodes = baseGraph.getRemovedNodes().getCardinality(); if (delNodes <= 0) return; // Deletes only nodes. // It reduces the fragmentation of the node space but introduces new unused edges. baseGraph.inPlaceNodeRemove(delNodes); // Reduce memory usage baseGraph.trimToSize(); }