Posted to tcl by mjanssen at Mon Oct 08 17:47:47 GMT 2007view pretty
# do the results of this benchmark indicate the BC execution engine can be optimized further? lappend auto_path ../ package require tcc set t [tcc::new] puts $t $t compile { #include "tcl.h" int tccappend( ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj * CONST objv[]){ Tcl_Obj * obj = Tcl_NewListObj(NULL,0); int i =0; for (i=0 ; i< 10000 ; i++) { Tcl_ListObjAppendElement(interp, obj, Tcl_NewIntObj(i)); } Tcl_ObjSetVar2(interp, objv[1], NULL, obj,0); return TCL_OK; } } $t command tccappend tccappend proc bcappend {var} { for {set i 0} {$i < 10000} {incr i} { lappend var $i } return } tccappend a bcappend a puts [time {tccappend a} 100] puts [time {bcappend a} 100]