diff options
| author | gingerBill <bill@gingerbill.org> | 2020-05-21 09:30:15 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2020-05-21 09:30:15 +0100 |
| commit | 89d824216a80285445d08e85b6650897a12d33cb (patch) | |
| tree | f1082c007eed839c072e7d834d6f3e810cd44879 /src/main.cpp | |
| parent | 3f23a0b3b0c999ae642a447055ee2082f281501b (diff) | |
Add extra information to `-show-more-timings`
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 126 |
1 files changed, 76 insertions, 50 deletions
diff --git a/src/main.cpp b/src/main.cpp index daf57a7c8..f430c5f68 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1174,58 +1174,84 @@ void show_timings(Checker *c, Timings *t) { total_file_size += file->tokenizer.end - file->tokenizer.start; } } -#if 1 + timings_print_all(t); -#else - { - timings_print_all(t); - gb_printf("\n"); - gb_printf("Total Lines - %td\n", lines); - gb_printf("Total Tokens - %td\n", tokens); - gb_printf("Total Files - %td\n", files); - gb_printf("Total Packages - %td\n", packages); - gb_printf("Total File Size - %td\n", total_file_size); - gb_printf("\n"); - } - { - TimeStamp ts = t->sections[0]; - GB_ASSERT(ts.label == "parse files"); - f64 parse_time = time_stamp_as_s(ts, t->freq); - gb_printf("Parse pass\n"); - gb_printf("LOC/s - %.3f\n", cast(f64)lines/parse_time); - gb_printf("us/LOC - %.3f\n", 1.0e6*parse_time/cast(f64)lines); - gb_printf("Tokens/s - %.3f\n", cast(f64)tokens/parse_time); - gb_printf("us/Token - %.3f\n", 1.0e6*parse_time/cast(f64)tokens); - gb_printf("bytes/s - %.3f\n", cast(f64)total_file_size/parse_time); - gb_printf("us/bytes - %.3f\n", 1.0e6*parse_time/cast(f64)total_file_size); - - gb_printf("\n"); - } - { - TimeStamp ts = t->sections[1]; - GB_ASSERT(ts.label == "type check"); - f64 parse_time = time_stamp_as_s(ts, t->freq); - gb_printf("Checker pass\n"); - gb_printf("LOC/s - %.3f\n", cast(f64)lines/parse_time); - gb_printf("us/LOC - %.3f\n", 1.0e6*parse_time/cast(f64)lines); - gb_printf("Tokens/s - %.3f\n", cast(f64)tokens/parse_time); - gb_printf("us/Token - %.3f\n", 1.0e6*parse_time/cast(f64)tokens); - gb_printf("bytes/s - %.3f\n", cast(f64)total_file_size/parse_time); - gb_printf("us/bytes - %.3f\n", 1.0e6*parse_time/cast(f64)total_file_size); - gb_printf("\n"); - } - { - f64 total_time = t->total_time_seconds; - gb_printf("Total pass\n"); - gb_printf("LOC/s - %.3f\n", cast(f64)lines/total_time); - gb_printf("us/LOC - %.3f\n", 1.0e6*total_time/cast(f64)lines); - gb_printf("Tokens/s - %.3f\n", cast(f64)tokens/total_time); - gb_printf("us/Token - %.3f\n", 1.0e6*total_time/cast(f64)tokens); - gb_printf("bytes/s - %.3f\n", cast(f64)total_file_size/total_time); - gb_printf("us/bytes - %.3f\n", 1.0e6*total_time/cast(f64)total_file_size); - gb_printf("\n"); + if (build_context.show_more_timings) { + { + gb_printf("\n"); + gb_printf("Total Lines - %td\n", lines); + gb_printf("Total Tokens - %td\n", tokens); + gb_printf("Total Files - %td\n", files); + gb_printf("Total Packages - %td\n", packages); + gb_printf("Total File Size - %td\n", total_file_size); + gb_printf("\n"); + } + { + TimeStamp ts = {}; + for_array(i, t->sections) { + TimeStamp s = t->sections[i]; + if (s.label == "parse files") { + ts = s; + break; + } + } + GB_ASSERT(ts.label == "parse files"); + + f64 parse_time = time_stamp_as_s(ts, t->freq); + gb_printf("Parse pass\n"); + gb_printf("LOC/s - %.3f\n", cast(f64)lines/parse_time); + gb_printf("us/LOC - %.3f\n", 1.0e6*parse_time/cast(f64)lines); + gb_printf("Tokens/s - %.3f\n", cast(f64)tokens/parse_time); + gb_printf("us/Token - %.3f\n", 1.0e6*parse_time/cast(f64)tokens); + gb_printf("bytes/s - %.3f\n", cast(f64)total_file_size/parse_time); + gb_printf("MiB/s - %.3f\n", cast(f64)(total_file_size/parse_time)/(1024*1024)); + gb_printf("us/bytes - %.3f\n", 1.0e6*parse_time/cast(f64)total_file_size); + + gb_printf("\n"); + } + { + TimeStamp ts = {}; + TimeStamp ts_end = {}; + for_array(i, t->sections) { + TimeStamp s = t->sections[i]; + if (s.label == "type check") { + ts = s; + } + if (s.label == "type check finish") { + GB_ASSERT(ts.label != ""); + ts_end = s; + break; + } + } + GB_ASSERT(ts.label != ""); + GB_ASSERT(ts_end.label != ""); + + ts.finish = ts_end.finish; + + f64 parse_time = time_stamp_as_s(ts, t->freq); + gb_printf("Checker pass\n"); + gb_printf("LOC/s - %.3f\n", cast(f64)lines/parse_time); + gb_printf("us/LOC - %.3f\n", 1.0e6*parse_time/cast(f64)lines); + gb_printf("Tokens/s - %.3f\n", cast(f64)tokens/parse_time); + gb_printf("us/Token - %.3f\n", 1.0e6*parse_time/cast(f64)tokens); + gb_printf("bytes/s - %.3f\n", cast(f64)total_file_size/parse_time); + gb_printf("MiB/s - %.3f\n", (cast(f64)total_file_size/parse_time)/(1024*1024)); + gb_printf("us/bytes - %.3f\n", 1.0e6*parse_time/cast(f64)total_file_size); + gb_printf("\n"); + } + { + f64 total_time = t->total_time_seconds; + gb_printf("Total pass\n"); + gb_printf("LOC/s - %.3f\n", cast(f64)lines/total_time); + gb_printf("us/LOC - %.3f\n", 1.0e6*total_time/cast(f64)lines); + gb_printf("Tokens/s - %.3f\n", cast(f64)tokens/total_time); + gb_printf("us/Token - %.3f\n", 1.0e6*total_time/cast(f64)tokens); + gb_printf("bytes/s - %.3f\n", cast(f64)total_file_size/total_time); + gb_printf("MiB/s - %.3f\n", cast(f64)(total_file_size/total_time)/(1024*1024)); + gb_printf("us/bytes - %.3f\n", 1.0e6*total_time/cast(f64)total_file_size); + gb_printf("\n"); + } } -#endif } void remove_temp_files(String output_base) { |