From bf8ca2d1aa76ec28d81c9150d98e70a4837fdaa3 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 12 Dec 2020 19:28:12 -0600 Subject: [PATCH] added stats printing with '--verbose' flag --- docs/todo | 2 +- include/onyxlex.h | 4 ++++ onyx | Bin 502308 -> 505468 bytes src/onyx.c | 34 +++++++++++++++++++++------------- src/onyxlex.c | 6 ++++++ 5 files changed, 32 insertions(+), 14 deletions(-) diff --git a/docs/todo b/docs/todo index 2d1a728e..b30dff4c 100644 --- a/docs/todo +++ b/docs/todo @@ -10,8 +10,8 @@ Command Line Interface: - Running the binary right away using Wasmtime, Wasmer or NodeJS [X] Remove old code from CLI logic + [X] Add statistic printing [ ] Fix documentation generation (broken since compiler architecture change) - [ ] Add statistic printing [ ] Fix AST printing (broken for a long time) [ ] Add automated running component - Store to temporary file (OS independent) diff --git a/include/onyxlex.h b/include/onyxlex.h index c4cbebf2..3e4cf559 100644 --- a/include/onyxlex.h +++ b/include/onyxlex.h @@ -3,6 +3,10 @@ #include "bh.h" +// NOTE: Used for global statistics +extern u64 lexer_lines_processed; +extern u64 lexer_tokens_processed; + typedef enum TokenType { Token_Type_Ascii_End = 256, Token_Type_Unknown = 256, diff --git a/onyx b/onyx index ade4212141e9f33641791876032393253fe8c7a2..de21dca2cce922ab2830d5a0d010175921835528 100755 GIT binary patch delta 88179 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∾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

DcnY4SYNnQ&nj3BV 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 - bh_printf("[Lexing] %s\n", file_contents->filename); - OnyxTokenizer tokenizer = onyx_tokenizer_create(compiler_state->token_alloc, file_contents); onyx_lex_tokens(&tokenizer); - if (compiler_state->options->verbose_output) - bh_printf("[Parsing] %s\n", file_contents->filename); - OnyxParser parser = onyx_parser_create(compiler_state->ast_alloc, &tokenizer, &compiler_state->prog_info); return onyx_parse(&parser); } @@ -381,9 +374,6 @@ static CompilerProgress process_source_file(CompilerState* compiler_state, char* return ONYX_COMPILER_PROGRESS_FAILED_READ; } - if (compiler_state->options->verbose_output) - bh_printf("[Reading] %s\n", file.filename); - bh_file_contents fc = bh_file_read_contents(compiler_state->token_alloc, &file); bh_file_close(&file); @@ -401,6 +391,9 @@ static CompilerProgress process_source_file(CompilerState* compiler_state, char* bh_table_put(bh_file_contents, compiler_state->loaded_files, (char *) filename, fc); fc = bh_table_get(bh_file_contents, compiler_state->loaded_files, (char *) filename); + if (compiler_state->options->verbose_output) + bh_printf("Processing source file: %s\n", file.filename); + ParseResults results = parse_source_file(compiler_state, &fc); merge_parse_results(compiler_state, &results); @@ -451,6 +444,8 @@ static b32 process_entity(CompilerState* compiler_state, Entity* ent) { static i32 onyx_compile(CompilerState* compiler_state) { + u64 start_time = bh_time_curr(); + { entity_heap_insert(&compiler_state->prog_info.entities, ((Entity) { .state = Entity_State_Resolve_Symbols, @@ -494,10 +489,25 @@ static i32 onyx_compile(CompilerState* compiler_state) { } if (compiler_state->options->verbose_output) - bh_printf("[Writing WASM] %s\n", output_file.filename); + bh_printf("Outputting to WASM file: %s\n", output_file.filename); onyx_wasm_module_write_to_file(&global_wasm_module, output_file); + u64 duration = bh_time_duration(start_time); + + if (compiler_state->options->verbose_output) { + bh_printf("\nStatistics:\n"); + bh_printf(" Time taken: %l.%l seconds\n", + duration / 1000, duration % 1000); + bh_printf(" Processed %l lines (%f lines/second).\n", + lexer_lines_processed, + ((f32) 1000 * lexer_lines_processed) / (duration)); + bh_printf(" Processed %l tokens (%f tokens/second).\n", + lexer_tokens_processed, + ((f32) 1000 * lexer_tokens_processed) / (duration)); + bh_printf("\n"); + } + return ONYX_COMPILER_PROGRESS_SUCCESS; } @@ -549,8 +559,6 @@ int main(int argc, char *argv[]) { break; case ONYX_COMPILER_PROGRESS_SUCCESS: - if (compile_opts.verbose_output) - bh_printf("Successfully compiled to '%s'\n", compile_opts.target_file); break; } diff --git a/src/onyxlex.c b/src/onyxlex.c index 386fb508..9a678ad9 100644 --- a/src/onyxlex.c +++ b/src/onyxlex.c @@ -2,6 +2,9 @@ #include "onyxlex.h" #include "onyxutils.h" +u64 lexer_lines_processed = 0; +u64 lexer_tokens_processed = 0; + static const char* token_type_names[] = { "TOKEN_TYPE_UNKNOWN", "TOKEN_TYPE_END_STREAM", @@ -430,4 +433,7 @@ void onyx_lex_tokens(OnyxTokenizer* tokenizer) { do { tk = onyx_get_token(tokenizer); } while (tk->type != Token_Type_End_Stream); + + lexer_lines_processed += tokenizer->line_number - 1; + lexer_tokens_processed += bh_arr_length(tokenizer->tokens); } -- 2.25.1