use of net.openhft.chronicle.map.ChronicleMapBuilder in project invesdwin-context-persistence by subes.
the class PersistentChronicleMapFactory method newPersistentMap.
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public ConcurrentMap<K, V> newPersistentMap(final IPersistentMapConfig<K, V> config) {
ChronicleMapBuilder builder = ChronicleMapBuilder.of(Object.class, Object.class);
builder.name(config.getName()).keyMarshaller(new ChronicleMarshaller<K>(config.newKeySerde())).valueMarshaller(new ChronicleMarshaller<V>(config.newValueSerde())).maxBloatFactor(1_000).entries(100_000);
builder = configureChronicleMap(config, builder);
return createChronicleMap(config, builder);
}
use of net.openhft.chronicle.map.ChronicleMapBuilder in project invesdwin-context-persistence by subes.
the class PersistentChronicleMapPerformanceTest method testChronicleMapPerformance.
@Test
public void testChronicleMapPerformance() throws InterruptedException {
@SuppressWarnings("resource") final APersistentMap<FDate, FDate> table = new APersistentMap<FDate, FDate>("testChronicleMapPerformance") {
@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 IPersistentMapFactory<FDate, FDate> newFactory() {
return new PersistentChronicleMapFactory<FDate, FDate>() {
@SuppressWarnings("rawtypes")
@Override
protected ChronicleMapBuilder configureChronicleMap(final IPersistentMapConfig<FDate, FDate> config, final ChronicleMapBuilder builder) {
return builder.averageKeySize(FDate.BYTES).averageValueSize(FDate.BYTES).entries(VALUES);
}
};
}
};
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);
table.deleteTable();
}
Aggregations