Skip to content

Instantly share code, notes, and snippets.

@jukka
jukka / gist:078bd524aa0ba36b184b
Last active August 29, 2015 14:03
Jackrabbit Oak 1.0.1 benchmarks, EC2 m3.large
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
@jukka
jukka / MicroKernelImpl.java
Created February 28, 2012 22:17
jr3 MicroKernel read operations based on the Tree interface
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);
@jukka
jukka / NodeState.java
Created March 5, 2012 11:18
Draft NodeState, PropertyState and ChildNodeEntry interfaces for jr3
/**
* 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,
@jukka
jukka / NodeBuilder.java
Created March 9, 2012 15:47
Draft interfaces for modifying trees
/**
* 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,
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
@jukka
jukka / gist:5912460
Created July 2, 2013 19:43
Jackrabbit Oak benchmarks, July 2013, EC2 m1.medium
# 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
@jukka
jukka / gist:6693063
Last active December 23, 2015 20:59
Jackrabbit Oak benchmarks, September 2013, EC2 m1.medium
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
@jukka
jukka / gist:6748243
Created September 29, 2013 01:01
Jackrabbit Oak concurrency benchmarks, September 2013, EC2 m1.medium
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
@jukka
jukka / Tree.java
Created February 28, 2012 13:56
jr3 tree model
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>