File: huge-tcl.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 (37 lines) | stat: -rw-r--r-- 919 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
#!/usr/bin/env entity

<object default-lang = "tcl">
  
  <timer interval="2000" action="search"/>
  <?tcl
    set numnodes 10000
    puts -nonewline stderr "creating $numnodes node tree: "

    set time [time {
      set obj [enode object]
      
      $obj attrib "foo" "goo"
      
      for {set i 0} {$i < $numnodes} {incr i} {
          set node [$obj new_child "fooey"]
          if {!($i % 2)} {
            $node attrib "foo" "goo"
          }
      }
    }]
    puts stderr [list [expr double([lindex $time 0]) / 1000000] s]
    
    proc search {node args} {
      global numnodes
      puts -nonewline stderr "\nsearching $numnodes node tree: "
      set time [time {
        set children [[enode object] children_attrib "foo" "goo"]
      }]
      puts stderr [list [expr double([lindex $time 0]) / 1000000] s]
      puts stderr [list returned [llength $children] results.]
    }
    
    
  ?>

</object>