From 7703117d5cf08fd77e76c656d38436545b3406ea Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Fri, 17 Feb 2023 17:28:39 -0800 Subject: added program execution timer --- src/precedent.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/precedent.c b/src/precedent.c index 1874c51..c623234 100644 --- a/src/precedent.c +++ b/src/precedent.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include "precedent.h" #include "hashtable.h" @@ -9,7 +10,9 @@ #include "eval.h" int main(int argc, char** argv) { + clock_t initTime = clock(); int visual = 0; + int debug = 0; if (argc > 1) { for (int i = 1; i < argc; i++) { if (strcmp("--version", argv[i]) == 0) { @@ -25,6 +28,9 @@ int main(int argc, char** argv) { else if (strcmp("--visualize", argv[i]) == 0) { visual = 1; } + else if (strcmp("--debug", argv[i]) == 0) { + debug = 1; + } } } else { @@ -50,7 +56,13 @@ int main(int argc, char** argv) { printf("--END VISUALIZATION--\n"); } hashtable_t* rootTable = init_hashtable(500, NULL); + clock_t setupTime = clock(); sym_t* sym = eval(finalSymbol, rootTable); + clock_t evalTime = clock(); + if (debug) { + printf("time taken to set up environment: %.5f secs\n", (float)(setupTime - initTime) / (float)CLOCKS_PER_SEC); + printf("time taken to execute program: %.5f secs\n", ((float)(evalTime - setupTime) - initTime) / (float)CLOCKS_PER_SEC); + } destroy_sym(sym); destroy_sym_tree(finalSymbol); destroy_hashtable(rootTable); -- cgit v1.3.1