This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Map; | |
/** | |
* Trees are the key concept in a hierarchical content repository. | |
* This interface is a low-level tree node representation that just | |
* maps zero or more string names to corresponding child nodes. | |
* Depending on context, a Tree instance can be interpreted as | |
* representing just that tree node, the subtree starting at that node, | |
* or an entire tree in case it's a root node. | |
* <p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache Jackrabbit Oak 0.10-SNAPSHOT | |
# ConcurrentReadTest min 10% 50% 90% max N | |
Jackrabbit 2789 2807 2921 4132 5000 20 | |
Oak-Default 1892 1910 1970 2031 2747 31 | |
Oak-Mongo 1895 1929 2043 2116 2182 30 | |
Oak-Segment 1930 1949 2073 2258 2322 29 | |
Oak-Tar 2096 2261 2443 2580 2676 25 | |
# ConcurrentReadWriteTest min 10% 50% 90% max N |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache Jackrabbit Oak 0.10-SNAPSHOT | |
# ReadPropertyTest min 10% 50% 90% max N | |
Jackrabbit 45 46 46 48 113 1292 | |
Oak-Default 37 37 37 39 46 1595 | |
Oak-Mongo 39 39 39 41 51 1512 | |
Oak-Segment 39 39 40 41 83 1495 | |
Oak-Tar 40 40 41 42 46 1465 | |
# SmallFileReadTest min 10% 50% 90% max N |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ReadPropertyTest min 10% 50% 90% max N | |
Jackrabbit 45 46 46 48 96 1285 | |
Oak-Default 35 36 36 38 48 1644 | |
Oak-Mongo 36 37 37 39 60 1594 | |
Oak-Segment 38 39 39 41 63 1510 | |
Oak-Tar 37 37 38 40 46 1559 | |
# SmallFileReadTest min 10% 50% 90% max N | |
Jackrabbit 62 63 67 94 219 806 | |
Oak-Default 62 62 74 258 327 579 | |
Oak-Mongo 155 156 159 421 534 306 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache Jackrabbit Oak 0.9-SNAPSHOT | |
# ReadPropertyTest min 10% 50% 90% max N | |
Jackrabbit 41 41 42 43 90 1428 | |
Oak-Default 58 58 59 60 69 1018 | |
Oak-Mongo 66 67 67 68 74 889 | |
Oak-Segment 278 279 281 285 321 213 | |
Oak-Tar 114 114 115 117 136 520 | |
# SmallFileReadTest min 10% 50% 90% max N | |
Jackrabbit 56 57 61 84 194 895 | |
Oak-Default 57 57 59 304 353 594 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Builder interface for constructing new {@link NodeState node states}. | |
*/ | |
public interface NodeBuilder { | |
/** | |
* Sets or removes the named property. | |
* | |
* @param name property name | |
* @param encodedValue encoded value of the property, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* A content tree consists of nodes and properties, each of which | |
* evolves through different states during its lifecycle. This interface | |
* represents a specific, immutable state of a node in a content tree. | |
* Depending on context, a NodeState instance can be interpreted as | |
* representing the state of just that node, of the subtree starting at | |
* that node, or of an entire tree in case it's a root node. | |
* <p> | |
* The crucial difference between this interface and the similarly named | |
* class in Jackrabbit 2.x is that this interface represents a specific, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MicroKernelImpl implements MicroKernel { | |
public boolean nodeExists(String path, String revisionId) | |
throws MicroKernelException { | |
Tree tree = getTree(revisionId); | |
for (String name : splitPathToElements(path)) { | |
if (tree == null) { | |
return false; | |
} | |
tree = tree.get(name); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache Jackrabbit Oak 1.0.1 | |
for background, see benchmark section in https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md | |
Summary (90%, lower is better): | |
Benchmark Jackrabbit Oak-Mongo Oak-Tar | |
------------------------------------------------------------- | |
ReadPropertyTest 45 4 4 | |
SetPropertyTest 1179 2398 119 | |
SmallFileReadTest 47 9 7 |