Version 3 Data: Core Implementation (8.7 - tip479 branch) Metrics (Implementation withdrawn) C Implementation (8.7, dynamic library) Metrics #### ITERATE 10 Raw unmodifed proc positional args: 33.8831 microseconds per iteration Raw unmodifed proc dict-with args: 33.4868 microseconds per iteration New Args style proc: 32.7418 microseconds per iteration New dictargs::proc defined parameters: 33.3544 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 33.3578 microseconds per iteration Raw method with args: 37.3892 microseconds per iteration New dictargs::method defined parameters: 33.587900000000005 microseconds per iteration New dictargs::method defined parameters - alias lookup: 33.363099999999996 microseconds per iteration #### ITERATE 100 Raw unmodifed proc positional args: 29.686529999999998 microseconds per iteration Raw unmodifed proc dict-with args: 29.94322 microseconds per iteration New Args style proc: 28.84926 microseconds per iteration New dictargs::proc defined parameters: 29.34898 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 29.14537 microseconds per iteration Raw method with args: 29.23777 microseconds per iteration New dictargs::method defined parameters: 33.05012 microseconds per iteration New dictargs::method defined parameters - alias lookup: 29.10534 microseconds per iteration #### ITERATE 1000 Raw unmodifed proc positional args: 28.052889 microseconds per iteration Raw unmodifed proc dict-with args: 30.354169000000002 microseconds per iteration New Args style proc: 29.111670999999998 microseconds per iteration New dictargs::proc defined parameters: 28.703438 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 31.538748 microseconds per iteration Raw method with args: 29.054477 microseconds per iteration New dictargs::method defined parameters: 29.847687999999998 microseconds per iteration New dictargs::method defined parameters - alias lookup: 28.915727 microseconds per iteration #### ITERATE 10000 Raw unmodifed proc positional args: 27.254201199999997 microseconds per iteration Raw unmodifed proc dict-with args: 29.8633979 microseconds per iteration New Args style proc: 28.6959641 microseconds per iteration New dictargs::proc defined parameters: 30.7491287 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 28.7576294 microseconds per iteration Raw method with args: 29.0657582 microseconds per iteration New dictargs::method defined parameters: 29.164890000000003 microseconds per iteration New dictargs::method defined parameters - alias lookup: 30.0958668 microseconds per iteration Pure Tcl (8.7) implementation Metrics: #### ITERATE 10 Raw unmodifed proc positional args: 41.1481 microseconds per iteration Raw unmodifed proc dict-with args: 34.207100000000004 microseconds per iteration New Args style proc: 36.095 microseconds per iteration New dictargs::proc defined parameters: 50.0609 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 38.445499999999996 microseconds per iteration Raw method with args: 53.3633 microseconds per iteration New dictargs::method defined parameters: 40.775 microseconds per iteration New dictargs::method defined parameters - alias lookup: 41.6937 microseconds per iteration #### ITERATE 100 Raw unmodifed proc positional args: 31.43685 microseconds per iteration Raw unmodifed proc dict-with args: 30.64976 microseconds per iteration New Args style proc: 31.65767 microseconds per iteration New dictargs::proc defined parameters: 32.40246 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 36.74129 microseconds per iteration Raw method with args: 32.065619999999996 microseconds per iteration New dictargs::method defined parameters: 32.99549 microseconds per iteration New dictargs::method defined parameters - alias lookup: 33.33688 microseconds per iteration #### ITERATE 1000 Raw unmodifed proc positional args: 29.544088 microseconds per iteration Raw unmodifed proc dict-with args: 29.613051 microseconds per iteration New Args style proc: 31.210498 microseconds per iteration New dictargs::proc defined parameters: 30.843059 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 32.216247 microseconds per iteration Raw method with args: 29.076679 microseconds per iteration New dictargs::method defined parameters: 33.314392 microseconds per iteration New dictargs::method defined parameters - alias lookup: 32.586645 microseconds per iteration #### ITERATE 10000 Raw unmodifed proc positional args: 27.505594300000002 microseconds per iteration Raw unmodifed proc dict-with args: 28.5783387 microseconds per iteration New Args style proc: 32.7960789 microseconds per iteration New dictargs::proc defined parameters: 33.4173287 microseconds per iteration New dictargs::proc defined parameters - alias lookup: 32.3366671 microseconds per iteration Raw method with args: 29.1897892 microseconds per iteration New dictargs::method defined parameters: 32.7219179 microseconds per iteration New dictargs::method defined parameters - alias lookup: 32.8130376 microseconds per iteration Version 2 Data: Core Implementation (8.7 - tip479 branch) Metrics #### ITERATE 10 Raw unmodifed proc positional args: 38.2164 microseconds per iteration Raw unmodifed proc dict-with args: 35.208 microseconds per iteration New Args style proc: 34.6954 microseconds per iteration New procx defined parameters: 34.7019 microseconds per iteration New procx defined parameters - alias lookup: 34.5184 microseconds per iteration Raw method with args: 40.660700000000006 microseconds per iteration New methodx defined parameters: 35.1677 microseconds per iteration New methodx defined parameters - alias lookup: 35.033100000000005 microseconds per iteration #### ITERATE 100 Raw unmodifed proc positional args: 36.35195 microseconds per iteration Raw unmodifed proc dict-with args: 30.06654 microseconds per iteration New Args style proc: 33.220909999999996 microseconds per iteration New procx defined parameters: 30.92766 microseconds per iteration New procx defined parameters - alias lookup: 30.595489999999998 microseconds per iteration Raw method with args: 32.497080000000004 microseconds per iteration New methodx defined parameters: 31.47413 microseconds per iteration New methodx defined parameters - alias lookup: 31.879810000000003 microseconds per iteration #### ITERATE 1000 Raw unmodifed proc positional args: 31.133451 microseconds per iteration Raw unmodifed proc dict-with args: 33.203048 microseconds per iteration New Args style proc: 33.114508 microseconds per iteration New procx defined parameters: 36.302519000000004 microseconds per iteration New procx defined parameters - alias lookup: 31.853675 microseconds per iteration Raw method with args: 33.837619 microseconds per iteration New methodx defined parameters: 30.197733 microseconds per iteration New methodx defined parameters - alias lookup: 37.820662 microseconds per iteration #### ITERATE 10000 Raw unmodifed proc positional args: 30.727632 microseconds per iteration Raw unmodifed proc dict-with args: 32.8398354 microseconds per iteration New Args style proc: 33.2277702 microseconds per iteration New procx defined parameters: 36.8956328 microseconds per iteration New procx defined parameters - alias lookup: 32.9345224 microseconds per iteration Raw method with args: 32.355591499999996 microseconds per iteration New methodx defined parameters: 32.435313400000005 microseconds per iteration New methodx defined parameters - alias lookup: 34.1166854 microseconds per iteration C Implementation (8.6, dynamic library) Metrics #### ITERATE 10 Raw unmodifed proc positional args: 42.1195 microseconds per iteration Raw unmodifed proc dict-with args: 42.8501 microseconds per iteration New Args style proc: 41.1098 microseconds per iteration New procx defined parameters: 40.961200000000005 microseconds per iteration New procx defined parameters - alias lookup: 37.1774 microseconds per iteration Raw method with args: 42.238299999999995 microseconds per iteration New methodx defined parameters: 38.2056 microseconds per iteration New methodx defined parameters - alias lookup: 38.080200000000005 microseconds per iteration #### ITERATE 100 Raw unmodifed proc positional args: 33.70373 microseconds per iteration Raw unmodifed proc dict-with args: 33.28495 microseconds per iteration New Args style proc: 33.405010000000004 microseconds per iteration New procx defined parameters: 38.80019 microseconds per iteration New procx defined parameters - alias lookup: 36.22746 microseconds per iteration Raw method with args: 32.130430000000004 microseconds per iteration New methodx defined parameters: 38.25053 microseconds per iteration New methodx defined parameters - alias lookup: 33.0135 microseconds per iteration #### ITERATE 1000 Raw unmodifed proc positional args: 32.266932000000004 microseconds per iteration Raw unmodifed proc dict-with args: 36.451155 microseconds per iteration New Args style proc: 33.345296000000005 microseconds per iteration New procx defined parameters: 32.785392 microseconds per iteration New procx defined parameters - alias lookup: 30.958956999999998 microseconds per iteration Raw method with args: 33.041142 microseconds per iteration New methodx defined parameters: 37.672148 microseconds per iteration New methodx defined parameters - alias lookup: 33.260596 microseconds per iteration #### ITERATE 10000 Raw unmodifed proc positional args: 29.4773347 microseconds per iteration Raw unmodifed proc dict-with args: 30.574376400000002 microseconds per iteration New Args style proc: 30.6931337 microseconds per iteration New procx defined parameters: 31.1854465 microseconds per iteration New procx defined parameters - alias lookup: 31.160856699999997 microseconds per iteration Raw method with args: 33.161912 microseconds per iteration New methodx defined parameters: 31.6200527 microseconds per iteration New methodx defined parameters - alias lookup: 31.9339485 microseconds per iteration Pure Tcl (8.6) implementation Metrics: #### ITERATE 10 Raw unmodifed proc positional args: 36.5058 microseconds per iteration Raw unmodifed proc dict-with args: 33.994600000000005 microseconds per iteration New Args style proc: 40.8003 microseconds per iteration New procx defined parameters: 44.6096 microseconds per iteration New procx defined parameters - alias lookup: 46.936 microseconds per iteration Raw method with args: 39.751799999999996 microseconds per iteration New methodx defined parameters: 46.2391 microseconds per iteration New methodx defined parameters - alias lookup: 45.9668 microseconds per iteration #### ITERATE 100 Raw unmodifed proc positional args: 29.458009999999998 microseconds per iteration Raw unmodifed proc dict-with args: 30.26978 microseconds per iteration New Args style proc: 39.64096 microseconds per iteration New procx defined parameters: 49.967420000000004 microseconds per iteration New procx defined parameters - alias lookup: 51.252340000000004 microseconds per iteration Raw method with args: 36.26353 microseconds per iteration New methodx defined parameters: 43.642070000000004 microseconds per iteration New methodx defined parameters - alias lookup: 42.81435999999999 microseconds per iteration #### ITERATE 1000 Raw unmodifed proc positional args: 31.537281999999998 microseconds per iteration Raw unmodifed proc dict-with args: 33.385747 microseconds per iteration New Args style proc: 38.801153 microseconds per iteration New procx defined parameters: 40.460851000000005 microseconds per iteration New procx defined parameters - alias lookup: 42.181786 microseconds per iteration Raw method with args: 32.21764 microseconds per iteration New methodx defined parameters: 44.171249 microseconds per iteration New methodx defined parameters - alias lookup: 44.675197999999995 microseconds per iteration #### ITERATE 10000 Raw unmodifed proc positional args: 30.072361599999997 microseconds per iteration Raw unmodifed proc dict-with args: 31.481707699999998 microseconds per iteration New Args style proc: 44.3864505 microseconds per iteration New procx defined parameters: 49.2172735 microseconds per iteration New procx defined parameters - alias lookup: 49.345337699999995 microseconds per iteration Raw method with args: 38.1861432 microseconds per iteration New methodx defined parameters: 47.3350863 microseconds per iteration New methodx defined parameters - alias lookup: 46.092083 microseconds per iteration