forerunnerdb
Version:
A NoSQL document store database for browsers and Node.js.
124 lines (105 loc) • 2 kB
HTML
<html>
<body>
<script src="../lib/BTree.js"></script>
<script>
var tree = new BinaryTree(),
search,
alpha,
data = [],
count = 50000,
countMax = count,
total = count,
name,
obj,
start,
overall = 0,
names = ['Jim', 'Alan', 'Bob', 'Nigel', 'Jane', 'Alice', 'DJ Kool', 'Anne', 'Tamara'];
tree.index({
name: -1,
age: -1,
type: -1
});
tree.insert({
name: 'Charlie',
age: 15,
type: 'User'
});
tree.insert({
name: 'Charlie',
age: 12,
type: 'User'
});
tree.insert({
name: 'Angel',
age: 20,
type: 'User'
});
tree.insert({
name: 'Bill',
age: 11,
type: 'User'
});
tree.insert({
name: 'Angel',
age: 21,
type: 'User'
});
tree.insert({
name: 'Bill',
age: 50,
type: 'Staff'
});
tree.insert({
name: 'Angel',
age: 12,
type: 'User'
});
tree.insert({
name: 'Angel',
age: 50,
type: 'Staff'
});
tree.insert({
name: 'Angel',
age: 82,
type: 'Staff'
});
tree.insert({
name: 'Angel',
age: 82,
type: 'Staff'
});
tree.insert({
name: 'Angel',
age: 82,
type: 'User'
});
console.log(tree.inOrder());
// Generate names and ages
/*console.time('Generate ' + countMax + ' records');
while (count--) {
name = names[Math.floor(Math.random() * names.length)];
data.push({
name: name,
age: Math.ceil(Math.random() * 100),
cash: Math.ceil(Math.random() * 1000)
});
}
//console.log(data);
console.timeEnd('Generate ' + countMax + ' records');
console.time('Insert ' + countMax + ' records');
debugger;
console.log(tree.insert(data));
console.timeEnd('Insert ' + countMax + ' records');
console.time('Walk tree in order');
console.log(tree.inOrder());
console.timeEnd('Walk tree in order');
console.time('Query tree single key');
console.log(tree.lookup({name: 'Jim'}));
console.timeEnd('Query tree single key');
console.time('Query tree multi key');
console.log(tree.lookup({name: 'Jim', age: 12}));
console.timeEnd('Query tree multi key');*/
</script>
</body>
</html>