Skip to content

Commit a47fb6a

Browse files
authored
v.builder: add -stats for top level statements and non-vlib top level statements (#26451)
1 parent 185bbd0 commit a47fb6a

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

‎vlib/v/builder/rebuilding.v‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,11 +337,22 @@ pub fn (mut b Builder) rebuild(backend_cb FnBackend) {
337337
compilation_time_micros := 1 + sw.elapsed().microseconds()
338338
scompilation_time_ms := util.bold('${f64(compilation_time_micros) / 1000.0:6.3f}')
339339
mut all_v_source_lines, mut all_v_source_bytes, mut all_v_source_tokens := 0, 0, 0
340+
mut all_v_top_stmts, mut all_non_vlib_top_stmts, mut all_main_top_stmts := 0, 0, 0
340341
for pf in b.parsed_files {
341342
all_v_source_lines += pf.nr_lines
342343
all_v_source_bytes += pf.nr_bytes
343344
all_v_source_tokens += pf.nr_tokens
345+
all_v_top_stmts += pf.stmts.len
346+
if !pf.path.contains('vlib/') {
347+
all_non_vlib_top_stmts += pf.stmts.len
348+
}
349+
if pf.mod.name == 'main' {
350+
all_main_top_stmts += pf.stmts.len
351+
}
344352
}
353+
mut sall_top_stmts := all_v_top_stmts.str()
354+
mut sall_non_vlib_top_stmts := all_non_vlib_top_stmts.str()
355+
mut sall_main_top_stmts := all_main_top_stmts.str()
345356
mut sall_v_source_lines := all_v_source_lines.str()
346357
mut sall_v_source_bytes := all_v_source_bytes.str()
347358
mut sall_v_source_tokens := all_v_source_tokens.str()
@@ -354,7 +365,10 @@ pub fn (mut b Builder) rebuild(backend_cb FnBackend) {
354365
sall_v_types = util.bold('${sall_v_types:5s}')
355366
sall_v_modules = util.bold('${sall_v_modules:5s}')
356367
sall_v_files = util.bold('${sall_v_files:5s}')
357-
println(' V source code size: ${sall_v_source_lines} lines, ${sall_v_source_tokens} tokens, ${sall_v_source_bytes} bytes, ${sall_v_types} types, ${sall_v_modules} modules, ${sall_v_files} files')
368+
sall_top_stmts = util.bold('${sall_top_stmts:5s}')
369+
sall_non_vlib_top_stmts = util.bold('${sall_non_vlib_top_stmts:5s}')
370+
sall_main_top_stmts = util.bold('${sall_main_top_stmts:5s}')
371+
println(' V source code size: ${sall_v_source_lines} lines, ${sall_v_source_tokens} tokens, ${sall_v_source_bytes} bytes, ${sall_v_types} types, ${sall_v_modules} modules, ${sall_v_files} files, ${sall_top_stmts} tl_stmts, ${sall_non_vlib_top_stmts} non_vlib_tl_stmts, ${sall_main_top_stmts} main_tl_stmts')
358372
//
359373
mut slines := b.stats_lines.str()
360374
mut sbytes := b.stats_bytes.str()

0 commit comments

Comments
 (0)