Skip to content

Commit e5428a8

Browse files
committed
test(rocksdb): add newDB()
1 parent f7e0118 commit e5428a8

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package org.tron.core.db.rocksdb;
2+
3+
import java.io.File;
4+
import java.io.IOException;
5+
import java.util.function.IntSupplier;
6+
import java.util.stream.IntStream;
7+
import lombok.extern.slf4j.Slf4j;
8+
import org.junit.Before;
9+
import org.junit.Rule;
10+
import org.junit.Test;
11+
import org.junit.rules.TemporaryFolder;
12+
import org.rocksdb.Options;
13+
import org.rocksdb.RocksDB;
14+
import org.rocksdb.RocksDBException;
15+
import org.tron.common.arch.Arch;
16+
17+
@Slf4j(topic = "DB")
18+
public class RocksDbTest {
19+
20+
@Rule
21+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
22+
23+
private File tmp;
24+
25+
@Before
26+
public void warmUP() throws RocksDBException, IOException {
27+
tmp = temporaryFolder.newFolder();
28+
if (!tmp.exists() && !tmp.mkdirs()) {
29+
throw new IOException("Unable to create temp folder");
30+
}
31+
for (int i = 0; i < 10; i++) {
32+
try (RocksDB db = RocksDB.open(tmp + "-" + i)) {
33+
db.compactRange();
34+
} finally {
35+
RocksDB.destroyDB(tmp + "-" + i, new Options());
36+
}
37+
}
38+
}
39+
40+
@Test
41+
public void testNewDB() {
42+
logger.info("{}", Arch.withAll());
43+
IntStream.range(10, 60).mapToObj(i -> (IntSupplier) () -> {
44+
try {
45+
return Math.toIntExact(openDB(i));
46+
} catch (RocksDBException e) {
47+
throw new org.iq80.leveldb.DBException(e);
48+
}
49+
}).mapToDouble(IntSupplier::getAsInt).average()
50+
.ifPresent(avg -> logger.info("Agv cost: {} ms", avg));
51+
}
52+
53+
private int openDB(int i) throws RocksDBException {
54+
long start = System.currentTimeMillis();
55+
try (RocksDB db = RocksDB.open(tmp + "-" + i)) {
56+
return StrictMath.toIntExact(System.currentTimeMillis() - start);
57+
} finally {
58+
RocksDB.destroyDB(tmp + "-" + i, new Options());
59+
}
60+
}
61+
}

0 commit comments

Comments
 (0)