use of de.invesdwin.util.math.decimal.TimedDecimal in project invesdwin-context-persistence by subes.
the class RecordLogDirectoryPerformanceTest method testRecordLogDirectoryPerformance.
@Test
public void testRecordLogDirectoryPerformance() throws IOException, InterruptedException {
final File directory = new File(ContextProperties.getCacheDirectory(), RecordLogDirectoryPerformanceTest.class.getSimpleName());
Files.deleteNative(directory);
Files.forceMkdir(directory);
final File file = new File(directory, "testRecordLogDirectoryPerformance");
final LoopInterruptedCheck loopCheck = new LoopInterruptedCheck(Duration.ONE_SECOND);
final Instant writesStart = new Instant();
try (RecordLogDirectory.Writer<TimedDecimal> writer = RecordLogDirectory.Writer.create(file, IndeedSerializer.valueOf(TimedDecimalSerde.GET), new SnappyCodec(), Integer.MAX_VALUE)) {
int i = 0;
for (final FDate date : newValues()) {
writer.append(new TimedDecimal(date, date.millisValue()));
i++;
if (i % FLUSH_INTERVAL == 0) {
if (loopCheck.check()) {
printProgress("Writes", writesStart, i, VALUES);
}
// writer.roll();
}
}
writer.roll();
printProgress("WritesFinished", writesStart, VALUES, VALUES);
}
readIterator(file);
}
use of de.invesdwin.util.math.decimal.TimedDecimal in project invesdwin-context-persistence by subes.
the class RecordLogDirectoryPerformanceTest method readIterator.
private void readIterator(final File file) throws IOException, InterruptedException {
final LoopInterruptedCheck loopCheck = new LoopInterruptedCheck();
final Instant readsStart = new Instant();
for (int reads = 1; reads <= READS; reads++) {
FDate prevValue = null;
int count = 0;
try (RecordLogDirectory<TimedDecimal> reader = new RecordLogDirectory.Builder<TimedDecimal>(file, IndeedSerializer.valueOf(TimedDecimalSerde.GET), new SnappyCodec()).build()) {
final RecordFile.Reader<TimedDecimal> iterator = reader.reader();
while (iterator.next()) {
final FDate value = iterator.get().getTime();
if (prevValue != null) {
Assertions.checkTrue(prevValue.isBefore(value));
}
prevValue = value;
count++;
}
Assertions.checkEquals(count, VALUES);
if (loopCheck.check()) {
printProgress("Reads", readsStart, VALUES * reads, VALUES * READS);
}
}
}
printProgress("ReadsFinished", readsStart, VALUES * READS, VALUES * READS);
}
use of de.invesdwin.util.math.decimal.TimedDecimal in project invesdwin-context-persistence by subes.
the class BasicRecordFilePerformanceTest method readIterator.
private void readIterator(final File file) throws IOException, InterruptedException {
final LoopInterruptedCheck loopCheck = new LoopInterruptedCheck();
final Instant readsStart = new Instant();
for (int reads = 1; reads <= READS; reads++) {
FDate prevValue = null;
int count = 0;
try (BasicRecordFile<TimedDecimal> reader = new BasicRecordFile<>(file, IndeedSerializer.valueOf(TimedDecimalSerde.GET))) {
final RecordFile.Reader<TimedDecimal> iterator = reader.reader();
while (iterator.next()) {
final FDate value = iterator.get().getTime();
if (prevValue != null) {
Assertions.checkTrue(prevValue.isBefore(value));
}
prevValue = value;
count++;
}
Assertions.checkEquals(count, VALUES);
if (loopCheck.check()) {
printProgress("Reads", readsStart, VALUES * reads, VALUES * READS);
}
}
}
printProgress("ReadsFinished", readsStart, VALUES * READS, VALUES * READS);
}
use of de.invesdwin.util.math.decimal.TimedDecimal in project invesdwin-context-persistence by subes.
the class BlockCompressedRecordFilePerformanceTest method testBlockCompressedRecordFilePerformance.
@Test
public void testBlockCompressedRecordFilePerformance() throws IOException, InterruptedException {
final File directory = new File(ContextProperties.getCacheDirectory(), BlockCompressedRecordFilePerformanceTest.class.getSimpleName());
Files.deleteNative(directory);
Files.forceMkdir(directory);
final File file = new File(directory, "testBlockCompressedRecordFilePerformance");
final LoopInterruptedCheck loopCheck = new LoopInterruptedCheck(Duration.ONE_SECOND);
final Instant writesStart = new Instant();
try (BlockCompressedRecordFile.Writer<TimedDecimal> writer = new BlockCompressedRecordFile.Writer.Builder<TimedDecimal>(file, IndeedSerializer.valueOf(TimedDecimalSerde.GET)).build()) {
int i = 0;
for (final FDate date : newValues()) {
writer.append(new TimedDecimal(date, date.millisValue()));
i++;
if (i % FLUSH_INTERVAL == 0) {
if (loopCheck.check()) {
printProgress("Writes", writesStart, i, VALUES);
}
}
}
printProgress("WritesFinished", writesStart, VALUES, VALUES);
}
readIterator(file);
}
use of de.invesdwin.util.math.decimal.TimedDecimal in project invesdwin-context-persistence by subes.
the class BlockCompressedRecordFilePerformanceTest method readIterator.
private void readIterator(final File file) throws IOException, InterruptedException {
final LoopInterruptedCheck loopCheck = new LoopInterruptedCheck();
final Instant readsStart = new Instant();
for (int reads = 1; reads <= READS; reads++) {
FDate prevValue = null;
int count = 0;
try (BlockCompressedRecordFile<TimedDecimal> reader = new BlockCompressedRecordFile.Builder<TimedDecimal>(file, IndeedSerializer.valueOf(TimedDecimalSerde.GET), new SnappyCodec()).build()) {
final RecordFile.Reader<TimedDecimal> iterator = reader.reader();
while (iterator.next()) {
final FDate value = iterator.get().getTime();
if (prevValue != null) {
Assertions.checkTrue(prevValue.isBefore(value));
}
prevValue = value;
count++;
}
Assertions.checkEquals(count, VALUES);
if (loopCheck.check()) {
printProgress("Reads", readsStart, VALUES * reads, VALUES * READS);
}
}
}
printProgress("ReadsFinished", readsStart, VALUES * READS, VALUES * READS);
}
Aggregations