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: }