Tcl-Compiler - PERFORMANCE TEST

From NHI1
Jump to: navigation, search

INTRO

This are the results from the last Tcl-Compiler performance tests:

Native
The native TCL shell using the plain TCL source-file.
Tcl-BE
Compiled with the Tcl-Compiler using the TCL back-end with output of TCL code.
All comments and code-formatting is gone, this is just plain compressed TCL code.
C-BE
Compiled with the Tcl-Compiler using the C back-end with output of BINARY code.
This is the C optimized code.

Test: ot_expr

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           expr-1.1 :   100.00   100.00    37.50   expr with ==
           expr-1.2 :   100.00    87.50    75.00   expr with "string equal"
           expr-1.3 :   100.00   100.00    57.14   expr with "string compare"
          expr-1.1b :   100.00   100.00    37.50   expr with == (NEG)
          expr-1.2b :   100.00   100.00    71.43   expr with "string equal" (NEG)
           expr-2.1 :   100.00   100.00    37.50   expr with !=
           expr-2.2 :   100.00   114.29    71.43   expr with not "string equal"
          expr-2.1b :   100.00    88.89    33.33   expr with != (NEG)
          expr-2.2b :   100.00    87.50    50.00   expr with not "string equal" (NEG)
           expr-3.1 :   100.00   103.03    21.21   expr with "info exists" (NEG)
           expr-4.1 :   100.00   100.00    50.00   empty expr with ==
           expr-4.2 :   100.00   114.29    71.43   empty expr with "string length"
           expr-4.3 :   100.00   100.00    42.86   empty expr with == (NEG)
           expr-4.4 :   100.00   100.00    71.43   empty expr with "string length" (NEG)
              Total :   100.00   100.00    46.56   -------------------------------------

Test: ot_inline_c

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
              TEST1 :   100.00    87.50    50.00   small inline c
              TEST2 :   100.00   100.00    25.00   midsize inline c
              TEST3 :   100.00   102.54     4.24   big inline c
              Total :   100.00   101.41     9.15   ----------------

Test: ot_list

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           list-1.1 :   100.00   103.23    16.13   proc with LIST argument
          list-1.1b :   100.00   103.70    18.52   proc with empty LIST argument
           list-1.2 :   100.00   100.00    74.65   foreach with "list" command (no compiled locals)
           list-1.3 :   100.00    99.11    58.04   foreach without "list" command
           list-1.5 :   100.00   102.38    14.29   proc with "list" LList argument
           list-1.6 :   100.00   103.85    23.08   proc with LList argument
              Total :   100.00   100.22    60.51   ------------------------------------------------

Test: ot_mem

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
            mem-1.0 :   100.00   500.00    66.67   access proc with known name
            mem-1.1 :   100.00    80.00    60.00   access proc with unknown name
              Total :   100.00   237.50    50.00   -----------------------------

Test: ot_uplevel

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
        uplevel-1.1 :   100.00   100.00    76.00   dynamic uplevel default
        uplevel-1.2 :   100.00    96.55    65.52   dynamic uplevel global
        uplevel-1.3 :   100.00   107.14    67.86   dynamic uplevel global
        uplevel-1.4 :   100.00   103.85    76.92   dynamic uplevel 1
        uplevel-1.5 :   100.00   103.33    76.67   dynamic uplevel 0
        uplevel-2.1 :   100.00   100.00    10.53   static uplevel default
        uplevel-2.2 :   100.00   102.56    10.26   static uplevel global
        uplevel-2.3 :   100.00   102.50    10.00   static uplevel global
        uplevel-2.4 :   100.00   102.50    10.00   static uplevel 1
        uplevel-2.5 :   100.00    97.78    17.78   static uplevel 0
        uplevel-3.1 :   100.00   102.33    13.95   AreaX uplevel default
        uplevel-3.2 :   100.00    95.74    12.77   AreaX uplevel global
        uplevel-3.3 :   100.00   104.55    13.64   AreaX uplevel global
        uplevel-3.4 :   100.00   102.27    13.64   AreaX uplevel 1
        uplevel-3.5 :   100.00   100.00    20.00   AreaX uplevel 0
              Total :   100.00   101.58    27.42   -----------------------

Test: ot_upvar

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
          upvar-1.1 :   100.00    87.50    37.50   static upvar default
          upvar-1.2 :   100.00   112.50    37.50   static upvar global
          upvar-1.3 :   100.00   137.50    50.00   static upvar global
          upvar-1.4 :   100.00   112.50    37.50   static upvar 1
          upvar-2.2 :   100.00   100.00    55.56   dynamic upvar global
          upvar-2.3 :   100.00    90.00    50.00   dynamic upvar global
          upvar-2.4 :   100.00    81.82    45.45   dynamic upvar 1
              Total :   100.00   100.00    48.39   --------------------

Test: tcl_append

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           append-0 :   100.00    93.94    32.62   for loop
           append-1 :   100.00   100.42    78.29   dyn string
           append-2 :   100.00   102.26    67.34   append dyn string to CmpLoc
           append-3 :   100.00   101.40    75.21   append long dyn string to Var
           append-4 :   100.00   100.83    66.12   append short dyn string to Var
           append-5 :   100.00    96.93    71.20   append long dyn string to CmpLoc
           append-6 :   100.00    97.30    52.14   append short dyn string to CmpLoc
           append-7 :   100.00    99.87    50.26   append string´s to CmpLoc
              Total :   100.00    99.64    63.29   ---------------------------------

Test: tcl_catch

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
            catch-1 :   100.00   100.00    22.22   catch with no error condition
            catch-2 :   100.00    98.18    16.36   catch with error condition
            catch-3 :   100.00   100.00    75.00   catch with no error condition
            catch-4 :   100.00    96.88    18.75   catch with error condition
            catch-5 :   100.00    94.44    25.00   catch with error condition and variable set
            catch-6 :   100.00    92.68    21.95   catch with no error condition and variable set
            catch-7 :   100.00    80.00    40.00   no catch
              Total :   100.00    96.48    24.62   ----------------------------------------------

Test: tcl_cond

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           cond-1.1 :   100.00    91.30     8.70   If/elseif/else with if true
           cond-1.2 :   100.00   100.00    33.33   If/elseif/else with elseif true
           cond-1.3 :   100.00    91.30    13.04   If/elseif/else with else true
           cond-2.1 :   100.00   105.00    15.00   Switch/case with first true
           cond-2.2 :   100.00    91.30    13.04   Switch/case with second true
           cond-2.3 :   100.00   100.00    15.00   Switch/case with default true
            if-1.1a :   100.00   100.00    44.44   Test cases with if/else/elseif sta number
            if-1.1b :   100.00   100.00    45.45   Test cases with if/else/elseif sta number
            if-1.1c :   100.00   118.18    45.45   Test cases with if/else/elseif sta number
            if-2.1a :   100.00   110.00    50.00   Test cases with if/else/elseif dyn
            if-2.1b :   100.00   100.00    55.56   Test cases with if/else/elseif dyn
            if-2.1c :   100.00    91.67    66.67   Test cases with if/else/elseif dyn
            if-2.1d :   100.00   100.00    71.43   Test cases with if/else/elseif dyn
            if-2.1e :   100.00    93.33    66.67   Test cases with if/else/elseif dyn
            if-3.1a :   100.00   100.00    28.57   Test cases with if/else/elseif sta string
            if-3.1b :   100.00   100.00    28.57   Test cases with if/else/elseif sta string
            if-3.1c :   100.00   100.00    23.81   Test cases with if/else/elseif sta string
         switch-1.1 :   100.00   100.00    26.09   Test cases with switch/case
              Total :   100.00    99.06    34.91   -----------------------------------------

Test: tcl_data

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
             fill-1 :   100.00    99.83    45.12   DATA fill a list
             fill-2 :   100.00    97.05    72.81   DATA fill a array
   data-create-list :   100.00   102.22    40.19   DATA create in a list
  data-create-array :   100.00    99.01    83.56   DATA create in an array
   data-access-list :   100.00   101.77    49.51   DATA access in a list
  data-access-array :   100.00    99.96    57.73   DATA access in a array
              Total :   100.00    99.73    59.97   -----------------------

Test: tcl_eval

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
          makeLists :   100.00    99.32    61.19   make Lists
    makeListOfLists :   100.00    99.75    56.18   make List Of Lists
              e-cmd :   100.00   100.00    60.00   EVAL cmd eval in list obj var
             e-list :   100.00   107.69    69.23   EVAL cmd eval as list
              e-str :   100.00   100.00    78.12   EVAL cmd eval as string
           eval-std :   100.00   101.23    97.86   EVAL cmd and mixed lists
          eval-list :   100.00   100.43   100.00   EVAL list cmd and mixed lists
         eval-listb :   100.00    81.06    76.52   EVAL list cmd and pure lists
        uplevel-std :   100.00   101.16    97.00   UPLEVEL cmd and mixed lists
       uplevel-list :   100.00    99.89   100.91   UPLEVEL list cmd and mixed lists
      uplevel-listb :   100.00    90.91    81.82   UPLEVEL list cmd and pure lists
              Total :   100.00    99.77    73.26   --------------------------------

Test: tcl_expr

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           expr-1.1 :   100.00    95.83    86.11   Non-braced expression
           expr-1.2 :   100.00   100.00    26.67   Braced expression
      expr-unbraced :   100.00   100.49   128.94   Expression unbraced
        expr-braced :   100.00   101.06    93.62   Expression braced
           expr-3.1 :   100.00   100.00    50.00   Expr small
           expr-3.2 :   100.00   100.00    66.67   Expr midsize
           expr-3.3 :   100.00   103.57    85.71   Expr large
     expr-incr-incr :   100.00   100.00    57.14   Expr incr
     expr-incr-expr :   100.00   100.00    75.00   Expr + 1
              Total :   100.00   100.28   117.44   ---------------------

Test: tcl_list

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           list-1.1 :   100.00    92.28    89.15   STR/LIST length, obj shimmer
           list-1.2 :   100.00   100.00    62.50   LIST length, pure list
           list-1.3 :   100.00    72.73    45.45   STR length of a LIST
          list-2.1a :   100.00   100.00    62.50   LIST exact search, first item
          list-2.1b :   100.00   100.00    82.35   LIST exact search, middle item
          list-2.1c :   100.00   112.50    90.62   LIST exact search, last item
          list-2.1d :   100.00    77.97    72.88   LIST exact search, non-item
          list-2.2a :   100.00   100.00    62.50   LIST sorted search, first item
          list-2.2b :   100.00   100.00    88.24   LIST sorted search, middle item
          list-2.2c :   100.00   100.00    90.62   LIST sorted search, last item
          list-2.2d :   100.00   100.00   115.22   LIST sorted search, non-item
           list-2.1 :   100.00   100.00    90.62   LIST exact search, untyped item
           list-2.3 :   100.00   103.23    93.55   LIST exact search, typed item
           list-2.4 :   100.00   100.00    90.62   LIST sorted search, typed item
           list-2.5 :   100.00   100.86   101.72   LIST sort
         list-2.5.1 :   100.00   100.95   100.57   LIST typed sort
          list-2.6a :   100.00   100.00    70.83   LIST remove first element
          list-2.6b :   100.00   100.00    78.26   LIST remove middle element
          list-2.6c :   100.00    84.62    69.23   LIST remove last element
          list-2.7a :   100.00   100.00    81.82   LIST replace first element
          list-2.7b :   100.00   123.81    80.95   LIST replace middle element
          list-2.7c :   100.00   100.00    77.27   LIST replace last element
           list-2.6 :   100.00    92.59    70.37   LIST remove in mixed list
           list-2.7 :   100.00    96.00    68.00   LIST replace in mixed list
          list-2.8a :   100.00   100.00    57.14   LIST index first element
          list-2.8b :   100.00   100.00    57.14   LIST index middle element
          list-2.8c :   100.00   100.00    57.14   LIST index last element
          list-2.9a :   100.00   100.00    79.17   LIST insert an item at start
          list-2.9b :   100.00    95.83    75.00   LIST insert an item at middle
          list-2.9c :   100.00    91.67    70.83   LIST insert an item at "end"
         list-2.10a :   100.00    92.31    53.85   LIST small, early range
         list-2.10b :   100.00    92.31    53.85   LIST small, late range
         list-2.10c :   100.00   100.00    64.71   LIST large, early range
         list-2.10d :   100.00   100.00    70.59   LIST large, late range
         list-2.11a :   100.00   100.00    95.65   LIST append to list
         list-2.11b :   100.00   107.69    69.23   LIST append to list static var
          list-2.12 :   100.00    99.19    97.58   LIST join list
              Total :   100.00    98.16    92.51   -------------------------------

Test: tcl_loops

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
          loops-0.1 :   100.00    99.43    41.60   fill a list
          loops-0.2 :   100.00   100.32    55.80   fill a string
          loops-1.1 :   100.00   101.12    57.77   Iterate over lists with for
          loops-1.2 :   100.00   106.68    57.09   Iterate over lists with foreach
          loops-2.1 :   100.00    98.24    47.34   Looping with for
          loops-2.2 :   100.00   102.92    54.22   Looping with while
     loops-for-list :   100.00   102.18    55.26   Iterate over lists with for
 loops-foreach-list :   100.00    97.14   105.73   Iterate over lists with foreach
      loops-foo-num :   100.00    93.38    48.59   Looping with for
    loops-while-num :   100.00    99.70    51.42   Looping with while
   loops-for-string :   100.00    98.29    67.01   iterate over chars in string using [string index]
loops-foreach-string:   100.00   106.84   107.69   iterate over chars in string using [foreach] and [split]
              Total :   100.00   100.12    58.93   --------------------------------------------------------

Test: tcl_map

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
        long-string :   100.00   103.36    57.73   create a long string
         utf-string :   100.00    95.15    61.17   create a utf string
           map-strA :   100.00    95.18    99.30   MAP string 1 val
           map-strB :   100.00    97.07    97.39   MAP string 2 val
           map-strC :   100.00    96.39    94.64   MAP string 3 val
           map-strD :   100.00    90.12    91.66   MAP string 4 val
           map-strE :   100.00   100.93    96.37   MAP string 1 val -nocase
           map-strF :   100.00   101.32   101.59   MAP string 2 val -nocase
           map-strG :   100.00   101.87   101.56   MAP string 3 val -nocase
           map-strH :   100.00   101.03   102.28   MAP string 4 val -nocase
        map-regsubA :   100.00    96.44   110.84   MAP regsub 1 val
        map-regsubB :   100.00    99.40   101.75   MAP regsub 2 val
        map-regsubC :   100.00   107.80   101.81   MAP regsub 3 val
        map-regsubD :   100.00    98.19   103.11   AP regsub 4 val
        map-regsubE :   100.00    97.59    99.50   MAP regsub 1 val -nocase
        map-regsubF :   100.00    91.92    93.01   MAP regsub 2 val -nocase
        map-regsubG :   100.00    99.40    99.57   MAP regsub 3 val -nocase
        map-regsubH :   100.00   103.13   102.56   MAP regsub 4 val -nocase
           map-strI :   100.00   102.28    97.99   MAP string, no match
           map-strJ :   100.00   100.03   107.31   MAP string -nocase, no match
        map-regsubI :   100.00    96.83   107.86   MAP regsub, no match
        map-regsubJ :   100.00    99.35   111.82   MAP regsub -nocase, no match
           map-strK :   100.00   105.56    63.89   MAP string short
        map-regsubK :   100.00    98.54    89.05   MAP regsub short
              Total :   100.00    99.81   100.41   ----------------------------

Test: tcl_md5sum

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
                 T1 :   100.00   100.11     7.38   BIG string (158863 bytes)
                 T2 :   100.00    97.67     5.94   MID string (15777 bytes)
                 T3 :   100.00   100.56    29.87   SMALL string (49 bytes)
              Total :   100.00    99.89     7.33   -------------------------

Test: tcl_morten

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
               FUN1 :   100.00   100.86    43.62   lappend and expr
               FUN3 :   100.00   100.07    30.67   empty
               FUN4 :   100.00   101.04    31.93   lappend no expr
               FUN6 :   100.00    97.46    30.19   simple while
               FUN7 :   100.00   100.69    29.27   simple lappend
               FUN8 :   100.00   107.62    31.99   simple multiple lappend
               FUN9 :   100.00   103.13    62.06   lappend and unset
              Total :   100.00   101.53    41.13   -----------------------

Test: tcl_otto

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
              TEST1 :   100.00    99.95    37.05   using append command
              TEST2 :   100.00    99.91     0.24   using set command
              TEST3 :   100.00   100.92   102.01   using file
              Total :   100.00   100.00    24.43   --------------------

Test: tcl_proc

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           proc-1.1 :   100.00   100.00    50.00   PROC explicit return
           proc-1.2 :   100.00   100.00    50.00   PROC implicit return
           proc-2.1 :   100.00    75.00    50.00   PROC heavily commented
           proc-2.2 :   100.00    94.12    11.76   PROC do-nothing, no args
           proc-2.3 :   100.00    75.00    50.00   PROC do-nothing, one arg
           proc-3.1 :   100.00   103.31    33.15   PROC local links with global
           proc-3.2 :   100.00   102.62    35.81   PROC local links with upvar
           proc-3.3 :   100.00    94.84    31.94   PROC local links with variable
              Total :   100.00   100.13    33.59   ------------------------------

Test: tcl_read

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
         read-getsA :   100.00   100.53    77.63   READ 595K, gets
         read-readA :   100.00    97.39    99.20   READ 595K, read
    read-read-sizeA :   100.00   102.65   102.60   READ 595K, read & size
         read-getsB :   100.00    99.30    75.59   READ 3050b, gets
         read-readB :   100.00   104.98    96.35   READ 3050b, read
    read-read-sizeB :   100.00   104.61   103.62   READ 3050b, read & size
         read-getsC :   100.00   100.16    78.88   BREAD 595K, gets
         read-readC :   100.00    94.26    95.55   BREAD 595K, read
    read-read-sizeC :   100.00   101.15   100.26   BREAD 595K, read & size
         read-getsD :   100.00    99.67    75.97   BREAD 3050b, gets
         read-readD :   100.00    91.24    80.41   BREAD 3050b, read
    read-read-sizeD :   100.00    98.93    87.17   BREAD 3050b, read & size
              Total :   100.00   100.07    84.00   ------------------------

Test: tcl_regexp

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
         regexp-1.1 :   100.00    93.18    40.91   - Inline regular expresion
         regexp-1.2 :   100.00    95.24    42.86   - Braced regexp
         regexp-2.1 :   100.00   137.50    63.89   + Inline regular expresion
         regexp-2.2 :   100.00   102.67    57.33   + Braced regexp
         regexp-3.1 :   100.00   102.79    89.64   + Inline regular expresion with subMatchVar
         regexp-3.2 :   100.00   101.18    84.25   + Braced regexp with subMatchVar
         regexp-4.1 :   100.00   100.00    84.62   Literal regular expresion
         regexp-4.2 :   100.00   115.38    80.77   Variable based regexp
         regexp-5.1 :   100.00    96.36    92.73   All
         regexp-5.2 :   100.00    99.26    99.26   All + Inline
              Total :   100.00   104.01    81.47   -------------------------------------------

Test: tcl_set

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
              set-0 :   100.00   100.78    35.26   for loop
              set-1 :   100.00    99.48    76.68   dyn string
              set-2 :   100.00    98.77    81.15   set dyn string
              Total :   100.00    99.42    73.30   --------------

Test: tcl_string

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
         string-0.1 :   100.00    99.17    44.54   fill a list
         string-0.2 :   100.00    98.67    56.42   fill a string
         string-1.1 :   100.00   100.00    71.43   String length of a list
         string-1.2 :   100.00   116.67    66.67   Llength of a list
         string-1.3 :   100.00   100.00    71.43   String length of a string
         string-1.4 :   100.00    85.71    57.14   Llength of a string
       str-cmp-null :   100.00   100.00    58.82   STR str [string compare]
     str-equal-null :   100.00   100.00    88.24   STR str [string equal]
        str-eq-null :   100.00   100.00    94.12   STR str $a equal ""
        str-==-null :   100.00   100.00    50.00   STR str num == ""
            str-eqA :   100.00   100.00    71.43   STR str $a eq $b
            str-neA :   100.00    95.24    66.67   STR str $a ne $b
            str-eqB :   100.00    84.00    60.00   STR str $a eq $b (same obj)
            str-neB :   100.00   100.00    65.00   STR str $a ne $b (same obj)
            str-len :   100.00   100.00    71.43   STR length (==4010)
         str-indexA :   100.00   100.00    70.00   STR index 0
         str-indexB :   100.00   100.00    80.00   STR index 100
         str-indexC :   100.00    90.91    54.55   STR index 500
         str-firstA :   100.00   100.00    60.00   STR first (success)
         str-firstB :   100.00    90.91    84.85   STR first (failure)
         str-firstC :   100.00   100.00    77.78   STR first (total failure)
          str-lastA :   100.00   102.60    99.35   STR last (success)
          str-lastB :   100.00    98.04    92.16   STR last (failure)
          str-lastC :   100.00   123.81   100.00   STR last (total failure)
         str-matchA :   100.00   100.00    62.50   STR match, simple (success early)
         str-matchB :   100.00   100.00    62.50   STR match, simple (success late)
         str-matchC :   100.00   100.00    62.50   STR match, simple (failure)
         str-matchD :   100.00   100.00    62.50   STR match, simple (total failure)
         str-matchE :   100.00   101.15    99.62   STR match, complex (success late)
         str-matchF :   100.00   100.00   100.00   STR match, complex (success early)
         str-matchG :   100.00    94.49    92.78   STR match, complex (failure)
         str-matchH :   100.00   104.79    99.20   STR match, complex (total failure)
          str-range :   100.00   100.00    61.54   STR range
       str-replaceA :   100.00   100.55   106.56   STR replace, no replacement
       str-replaceB :   100.00   104.76    98.41   STR replace, equal replacement
       str-replaceC :   100.00    94.90    91.84   STR replace, longer replacement
         str-repeat :   100.00   100.00    84.62   STR repeat, abcdefghij * 100
               revA :   100.00   100.93    71.13   STR reverse-1, 100 chars
               revB :   100.00    97.52    61.22   STR reverse-2, 100 unichars
  rev-full-compileA :   100.00   100.65    84.55   STR reverse-2, 100 chars
  rev-full-compileB :   100.00    98.18    82.29   STR reverse-2, 100 unichars
         str-append :   100.00   100.00    57.14   STR append
        proc-locals :   100.00   101.00    81.27   STR info locals match
              Total :   100.00    99.66    79.26   ----------------------------------

Test: tcl_trace

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
         trace-varA :   100.00   100.00    41.38   TRACE no trace set
         trace-varB :   100.00   103.57    42.86   TRACE read
         trace-varC :   100.00   103.45    41.38   TRACE write
         trace-varD :   100.00   100.00    42.86   TRACE unset
         trace-varE :   100.00   103.57    46.43   TRACE all set (rwu)
              Total :   100.00   102.11    43.66   -------------------

Test: tcl_unset

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
          unset-1.1 :   100.00    80.00    10.00   Unsetting an existing variable
          unset-1.2 :   100.00   101.85    12.96   Catching invalid unset
          unset-1.3 :   100.00   100.00    19.05   Catching valid unset
          unset-1.4 :   100.00   100.00    16.67   Testing existing variable before unset
          unset-1.5 :   100.00   100.00    19.05   Testing non-existent variable before unset
              Total :   100.00    96.15    17.31   ------------------------------------------

Test: tcl_vars

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
           vars-1.1 :   100.00   105.56    11.11   Local variable access
           vars-1.2 :   100.00   100.00    10.00   Global variable access
           vars-1.3 :   100.00    92.86    28.57   Upvar variable access
           vars-1.4 :   100.00    80.00    40.00   Procedure argument
              Total :   100.00    97.22    22.22   ----------------------

Test: tcl_vars_B

            CctPerf :   Native   Tcl-BE   C-BE     Mon Jan 14 15:25:08 CET 2002
      var-local-set :   100.00   100.00    50.00   VAR access locally set
     var-local-set2 :   100.00    95.24    14.29   VAR access locally set without parameter
    var-local-input :   100.00   116.67    50.00   VAR access local proc arg
         var-global :   100.00   100.00    25.00   VAR access global
        var-global2 :   100.00   100.00    12.12   VAR access global without parameter
          var-upvar :   100.00    94.74    26.32   VAR access upvar
         var-scalar :   100.00   100.00    50.00   VAR set scalar
          var-array :   100.00   100.00    62.50   VAR set array element
       var-set-many :   100.00    93.94    54.55   VAR 100 ´set´s in array
      var-set-many2 :   100.00   105.63    56.34   VAR 100 ´set´s as scalar
      var-array-set :   100.00    98.34    38.12   VAR ´array set´ of 100 elems
              Total :   100.00    98.50    41.76   ----------------------------------------