MCPcopy Index your code
hub / github.com/RustPython/RustPython / statistics

Function statistics

examples/parse_folder.rs:85–117  ·  view source on GitHub ↗
(results: ScanResult)

Source from the content-addressed store, hash-verified

83}
84
85fn statistics(results: ScanResult) {
86 // println!("Processed {:?} files", res.len());
87 println!("Scanned a total of {} files", results.parsed_files.len());
88 let total: usize = results.parsed_files.len();
89 let total_lines: usize = results.parsed_files.iter().map(|p| p.num_lines).sum();
90 let failed = results
91 .parsed_files
92 .iter()
93 .filter(|p| p.result.is_err())
94 .count();
95 let passed = results
96 .parsed_files
97 .iter()
98 .filter(|p| p.result.is_ok())
99 .count();
100 println!("Passed: {passed} Failed: {failed} Total: {total}");
101 println!(
102 "That is {} % success rate.",
103 (passed as f64 * 100.0) / total as f64
104 );
105 let duration = results.t2 - results.t1;
106 println!("Total time spend: {duration:?}");
107 println!(
108 "Processed {} files. That's {} files/second",
109 total,
110 rate(total, duration)
111 );
112 println!(
113 "Processed {} lines of python code. That's {} lines/second",
114 total_lines,
115 rate(total_lines, duration)
116 );
117}
118
119fn rate(counter: usize, duration: Duration) -> f64 {
120 (counter * 1_000_000) as f64 / duration.as_micros() as f64

Callers 1

mainFunction · 0.85

Calls 7

is_errMethod · 0.80
lenMethod · 0.45
sumMethod · 0.45
mapMethod · 0.45
iterMethod · 0.45
countMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected