Origin for each line in
profile.c
from check-in 3cae553059:
3cae553059 2019-09-20 rkeene: #include <tcl.h>
3cae553059 2019-09-20 rkeene: #include <stdio.h>
3cae553059 2019-09-20 rkeene:
3cae553059 2019-09-20 rkeene: extern int Xvfs_Init(Tcl_Interp *interp);
3cae553059 2019-09-20 rkeene: extern int Xvfs_example_Init(Tcl_Interp *interp);
3cae553059 2019-09-20 rkeene: int main(int argc, char **argv) {
3cae553059 2019-09-20 rkeene: Tcl_Interp *interp;
3cae553059 2019-09-20 rkeene: int tclRet;
3cae553059 2019-09-20 rkeene: int try;
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_Init(interp);
3cae553059 2019-09-20 rkeene: if (tclRet != TCL_OK) {
3cae553059 2019-09-20 rkeene: fprintf(stderr, "Xvfs_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: 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 * }");
3cae553059 2019-09-20 rkeene:
3cae553059 2019-09-20 rkeene: #ifdef XVFS_PROFILE_TESTS
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);
3cae553059 2019-09-20 rkeene: for (try = 0; try < 1000; try++) {
3cae553059 2019-09-20 rkeene: Tcl_EvalFile(interp, "//xvfs:/example/main.tcl");
3cae553059 2019-09-20 rkeene: }
3cae553059 2019-09-20 rkeene: #else
3cae553059 2019-09-20 rkeene: for (try = 0; try < 1000000; try++) {
3cae553059 2019-09-20 rkeene: Tcl_Eval(interp, "benchmark");
3cae553059 2019-09-20 rkeene: }
3cae553059 2019-09-20 rkeene: #endif
3cae553059 2019-09-20 rkeene:
3cae553059 2019-09-20 rkeene: return(0);
3cae553059 2019-09-20 rkeene: }