File: huge-javascript.e

package info (click to toggle)
entity 1.0.1-8
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,604 kB
  • ctags: 5,394
  • sloc: ansic: 64,242; sh: 7,377; makefile: 776; perl: 319
file content (41 lines) | stat: -rw-r--r-- 1,101 bytes parent folder | download | duplicates (3)
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>