MCPcopy Create free account
hub / github.com/e2wugui/zeze / main

Method main

ZezeJava/ZezeJavaTest/src/Benchmark/BenchRocksDb.java:98–170  ·  view source on GitHub ↗
(String[] args)

Source from the content-addressed store, hash-verified

96 }
97
98 public static void main(String[] args) throws Exception {
99 System.out.println("begin");
100 try (var rocksDb = new RocksDatabase("~$BenchRocksDb")) {
101 var testTable = rocksDb.getOrAddTable("test");
102 var k = new byte[4];
103 var v = new byte[100];
104 ThreadLocalRandom.current().nextBytes(v);
105
106 var t = System.nanoTime();
107 for (int i = 0; i < 100000; i++) {
108 ByteBuffer.intBeHandler.set(k, 0, i);
109 testTable.put(RocksDatabase.getDefaultWriteOptions(), k, v);
110 }
111 System.out.println(" put: " + (System.nanoTime() - t) / 1_000_000 + " ms");
112
113 t = System.nanoTime();
114 for (int i = 0; i < 100000; i++) {
115 ByteBuffer.intBeHandler.set(k, 0, i);
116 testTable.get(RocksDatabase.getDefaultReadOptions(), k);
117 }
118 System.out.println(" get: " + (System.nanoTime() - t) / 1_000_000 + " ms");
119
120 t = System.nanoTime();
121 try (var wb = rocksDb.borrowBatch()) {
122 for (int i = 0; i < 100000; i++) {
123 ByteBuffer.intBeHandler.set(k, 0, i);
124 wb.clear();
125 testTable.put(wb, k, v);
126 wb.commit(RocksDatabase.getDefaultWriteOptions());
127 }
128 }
129 System.out.println(" batch.put: " + (System.nanoTime() - t) / 1_000_000 + " ms");
130
131 byte[] data;
132 try (var wb = rocksDb.borrowBatch()) {
133 t = System.nanoTime();
134 for (int i = 0; i < 100000; i++) {
135 ByteBuffer.intBeHandler.set(k, 0, i);
136 testTable.put(wb, k, v);
137 }
138 wb.commit(RocksDatabase.getDefaultWriteOptions());
139 System.out.println(" batchAll.put: " + (System.nanoTime() - t) / 1_000_000 + " ms");
140 data = wb.getWriteBatch().data();
141 }
142
143 t = System.nanoTime();
144 var batch = rocksDb.newBatch2();
145 for (int i = 0; i < 100000; i++) {
146 ByteBuffer.intBeHandler.set(k, 0, i);
147 batch.clear();
148 testTable.put(batch, k, 0, k.length, v, 0, v.length);
149 batch.commit(RocksDatabase.getDefaultWriteOptions());
150 }
151 System.out.println(" batch2.put: " + (System.nanoTime() - t) / 1_000_000 + " ms");
152
153 batch.clear();
154 t = System.nanoTime();
155 for (int i = 0; i < 100000; i++) {

Callers

nothing calls this directly

Calls 15

getDefaultReadOptionsMethod · 0.95
currentMethod · 0.80
borrowBatchMethod · 0.80
getWriteBatchMethod · 0.80
newBatch2Method · 0.80
getKeyNumbersMethod · 0.80
putMethod · 0.65
getMethod · 0.65
clearMethod · 0.65
commitMethod · 0.65
copyMethod · 0.65

Tested by

no test coverage detected