use of de.invesdwin.context.persistence.mapdb.PersistentTreeMapDBFactory in project invesdwin-context-persistence by subes.
the class TreeMapDBPerformanceTest method testTreeMapDbPerformance.
@Test
public void testTreeMapDbPerformance() throws InterruptedException {
@SuppressWarnings("resource") final APersistentNavigableMap<FDate, FDate> table = new APersistentNavigableMap<FDate, FDate>("testTreeMapDbPerformance") {
@Override
public File getBaseDirectory() {
return ContextProperties.TEMP_DIRECTORY;
}
@Override
public ISerde<FDate> newKeySerde() {
return FDateSerde.GET;
}
@Override
public ISerde<FDate> newValueSerde() {
return FDateSerde.GET;
}
@Override
protected IPersistentNavigableMapFactory<FDate, FDate> newFactory() {
return new PersistentTreeMapDBFactory<>();
}
};
final LoopInterruptedCheck loopCheck = new LoopInterruptedCheck(Duration.ONE_SECOND);
final Instant writesStart = new Instant();
int i = 0;
for (final FDate date : newValues()) {
table.put(date, date);
i++;
if (i % FLUSH_INTERVAL == 0) {
if (loopCheck.check()) {
printProgress("Writes", writesStart, i, VALUES);
}
}
}
printProgress("WritesFinished", writesStart, VALUES, VALUES);
readIterator(table);
readGet(table);
readGetLatest(table);
table.deleteTable();
}
Aggregations