Author: Gianluca Guida <glguida@tlbflush.org>
Date: Mon Mar 6 23:23:35 UTC 2017
Parent: c69501b81d0971374e66acad68d01067f409028d
Log message:
repl: used timed eval
1: diff --git a/src/repl/lac.c b/src/repl/lac.c
2: index bd5d10a..8b2fb62 100644
3: --- a/src/repl/lac.c
4: +++ b/src/repl/lac.c
5: @@ -38,6 +38,21 @@ sigint (int sig)
6: ? (_b)->tv_usec - (_a)->tv_usec \
7: : (_b)->tv_usec + 1000000L - (_a)->tv_usec)
8:
9: +lreg_t timed_eval(lreg_t lr, void *opq)
10: +{
11: + lreg_t ret;
12: + struct timeval t1, t2;
13: + lenv_t *env = (lenv_t *)opq;
14: +
15: + gettimeofday(&t1, NULL);
16: + ret = eval(lr, env);
17: + gettimeofday(&t2, NULL);
18: +
19: + fprintf(stderr, "Evaluation took %ld seconds and %ld microseconds.\n",
20: + TDIFF_SEC(&t1, &t2), TDIFF_USEC(&t1, &t2));
21: +
22: + return ret;
23: +}
24:
25: int
26: repl (FILE * infd, FILE * outfd, FILE * errfd)
27: @@ -62,7 +77,7 @@ restart:
28: add_history (buf);
29:
30: res = sexpr_parse_string (buf,
31: - (lreg_t (*)(lreg_t, void *))eval,
32: + timed_eval,
33: (void *)null_env);
34: if (isatty (fileno (outfd)))
35: {