Annotation For profile.c

Origin for each line in profile.c from check-in 22c09ebad1:

3cae553059 2019-09-20        rkeene: #include <tcl.h>
3cae553059 2019-09-20        rkeene: #include <stdio.h>
22c09ebad1 2019-09-20        rkeene: #include <stdlib.h>
3cae553059 2019-09-20        rkeene: 
22c09ebad1 2019-09-20        rkeene: #undef  XVFS_DEBUG
22c09ebad1 2019-09-20        rkeene: #define XVFS_MODE_STANDALONE
22c09ebad1 2019-09-20        rkeene: #include "example.c"
22c09ebad1 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: int main(int argc, char **argv) {
3cae553059 2019-09-20        rkeene: 	Tcl_Interp *interp;
22c09ebad1 2019-09-20        rkeene: 	int profileTests, profileBenchmark;
3cae553059 2019-09-20        rkeene: 	int tclRet;
3cae553059 2019-09-20        rkeene: 	int try;
22c09ebad1 2019-09-20        rkeene: 
22c09ebad1 2019-09-20        rkeene: 	profileTests = 0;
22c09ebad1 2019-09-20        rkeene: 	profileBenchmark = 1000000;
22c09ebad1 2019-09-20        rkeene: 
22c09ebad1 2019-09-20        rkeene: 	if (argc > 1) {
22c09ebad1 2019-09-20        rkeene: 		profileBenchmark = atoi(argv[1]);
22c09ebad1 2019-09-20        rkeene: 	}
22c09ebad1 2019-09-20        rkeene: 
22c09ebad1 2019-09-20        rkeene: 	if (argc > 2) {
22c09ebad1 2019-09-20        rkeene: 		profileTests = atoi(argv[2]);
22c09ebad1 2019-09-20        rkeene: 	}
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 	interp = Tcl_CreateInterp();
3cae553059 2019-09-20        rkeene: 	if (!interp) {
3cae553059 2019-09-20        rkeene: 		fprintf(stderr, "Tcl_CreateInterp failed\n");
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 		return(1);
3cae553059 2019-09-20        rkeene: 	}
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 	tclRet = Tcl_Init(interp);
3cae553059 2019-09-20        rkeene: 	if (tclRet != TCL_OK) {
3cae553059 2019-09-20        rkeene: 		fprintf(stderr, "Tcl_Init failed: %s\n", Tcl_GetStringResult(interp));
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 		return(1);
3cae553059 2019-09-20        rkeene: 	}
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 	tclRet = Xvfs_example_Init(interp);
3cae553059 2019-09-20        rkeene: 	if (tclRet != TCL_OK) {
3cae553059 2019-09-20        rkeene: 		fprintf(stderr, "Xvfs_example_Init failed: %s\n", Tcl_GetStringResult(interp));
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 		return(1);
3cae553059 2019-09-20        rkeene: 	}
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 	Tcl_Eval(interp, "proc benchmark args { glob -directory //xvfs:/example * }");
22c09ebad1 2019-09-20        rkeene: 	for (try = 0; try < profileBenchmark; try++) {
22c09ebad1 2019-09-20        rkeene: 		Tcl_Eval(interp, "benchmark");
22c09ebad1 2019-09-20        rkeene: 	}
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 	Tcl_Eval(interp, "proc exit args {}");
3cae553059 2019-09-20        rkeene: 	Tcl_Eval(interp, "proc puts args {}");
3cae553059 2019-09-20        rkeene: 	Tcl_SetVar(interp, "argv", "-verbose {}", 0);
22c09ebad1 2019-09-20        rkeene: 	for (try = 0; try < profileTests; try++) {
3cae553059 2019-09-20        rkeene: 		Tcl_EvalFile(interp, "//xvfs:/example/main.tcl");
3cae553059 2019-09-20        rkeene: 	}
3cae553059 2019-09-20        rkeene: 
3cae553059 2019-09-20        rkeene: 	return(0);
3cae553059 2019-09-20        rkeene: }