(String[] args)
| 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++) { |
nothing calls this directly
no test coverage detected