Skip to content

Commit 24ee7a7

Browse files
committed
add timers
1 parent 90f1ab4 commit 24ee7a7

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/main.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use git2::Repository;
22
use std::env;
33
use glob::Pattern;
44
use std::process::Command;
5+
use std::time::Instant;
56

67
#[derive(Clone)]
78
struct PatternFilter {
@@ -39,17 +40,23 @@ fn main() {
3940

4041
let mut filtered_files: Vec<String> = Vec::new();
4142

43+
let start = Instant::now();
4244
for pattern in include_patterns_filters.iter() {
4345
filtered_files.extend(filter_files_by_pattern(&pattern, changed_files.clone()));
4446
}
47+
let duration = start.elapsed();
48+
println!("Filtering files done in: {:?}", duration);
4549

50+
let start = Instant::now();
4651
for pattern in exclude_patterns_filters.iter() {
4752
filtered_files = filtered_files
4853
.iter()
4954
.filter(|file| !Pattern::new(&pattern.pattern).expect("Failed to create pattern").matches(file))
5055
.map(|file| file.to_string())
5156
.collect();
5257
}
58+
let duration = start.elapsed();
59+
println!("Excluding files done in: {:?}", duration);
5360

5461
println!("DIFF_FILES: {:?}", filtered_files);
5562
println!("DIFF_COUNT: {}", filtered_files.len());
@@ -95,7 +102,10 @@ fn create_patterns_filters(arg: &str) -> Vec<PatternFilter> {
95102
}
96103

97104
fn get_changed_files() -> Vec<String> {
105+
let start = Instant::now();
98106
let repository = Repository::open(".").expect("Failed to open repository");
107+
let duration = start.elapsed();
108+
println!("Opening repository done in: {:?}", duration);
99109

100110
let head = repository.head().expect("Failed to get HEAD");
101111
let head_commit = head.peel_to_commit().expect("Failed to peel HEAD to commit");
@@ -112,6 +122,7 @@ fn get_changed_files() -> Vec<String> {
112122
let base_ref = repository.find_reference(&base_ref_string).expect("Failed to find default branch");
113123
let base_commit = base_ref.peel_to_commit().expect("Failed to peel default branch to commit");
114124

125+
let start = Instant::now();
115126
let diff = repository.diff_tree_to_tree(
116127
Some(&base_commit.tree().expect("Failed to get base tree")),
117128
Some(&head_commit.tree().expect("Failed to get HEAD tree")),
@@ -130,6 +141,8 @@ fn get_changed_files() -> Vec<String> {
130141
None,
131142
None,
132143
).expect("Error while iterating over diff");
144+
let duration = start.elapsed();
145+
println!("Getting changed files done in: {:?}", duration);
133146

134147
changed_files
135148
}

0 commit comments

Comments
 (0)