1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#!/usr/bin/env entity
<object default-lang="javascript">
<timer interval="2000" action="search"/>
<system-time/>
<?javascript
var numnodes = 10000;
function curtime ()
{
n = enode ("system-time");
return (n.attrib.minutes + ":" + n.attrib.seconds + ":" + n.attrib.milliseconds);
}
obj = enode ("object");
obj.attrib.foo = "goo";
print ("Building", numnodes, "tree:\t", curtime ());
for (var i = 0; i < numnodes; i++) {
node = obj.new_child ("fooey");
if (! (i % 2))
node.attrib.foo = "goo";
}
print ("Done. \t\t", curtime ());
function search (timer)
{
obj = enode ("object");
print ("searching", numnodes, "node tree: \t", curtime());
milli = enode ("system-time").attrib.milliseconds;
list = obj.children_attrib ("foo", "goo");
print ("returned", list.length, "nodes: \t\t", curtime());
newmilli = enode ("system-time").attrib.milliseconds;
elapsed = newmilli - milli;
if (elapsed < 0)
elapsed = 1000000 + elapsed;
print ("elapsed:", elapsed/1000000 + "s");
}
?>
</object>
|