Skip to content

Commit 0fad359

Browse files
committed
perf: stream walker entries into rayon via par_bridge
1 parent 9d91fe8 commit 0fad359

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

src/imports.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use oxc_allocator::Allocator;
77
use oxc_ast::ast::*;
88
use oxc_parser::Parser;
99
use oxc_span::{GetSpan, SourceType, Span};
10+
use rayon::iter::ParallelBridge;
1011
use rayon::prelude::*;
1112

1213
use crate::resolver::ModuleResolver;
@@ -61,7 +62,7 @@ pub fn find_barrel_imports(ctx: &Context, resolver: &ModuleResolver) -> Vec<Barr
6162
.as_deref()
6263
.and_then(|g| Glob::new(g).ok().map(|g| g.compile_matcher()));
6364

64-
let candidates: Vec<DirEntry> = WalkBuilder::new(&root)
65+
WalkBuilder::new(&root)
6566
.standard_filters(true)
6667
.filter_entry(|entry| {
6768
entry
@@ -72,10 +73,7 @@ pub fn find_barrel_imports(ctx: &Context, resolver: &ModuleResolver) -> Vec<Barr
7273
.build()
7374
.filter_map(Result::ok)
7475
.filter(|entry| is_candidate_file(entry, &root, matcher.as_ref()))
75-
.collect();
76-
77-
candidates
78-
.par_iter()
76+
.par_bridge()
7977
.filter_map(|entry| {
8078
let path = entry.path();
8179
let source = fs::read_to_string(path).ok()?;

0 commit comments

Comments
 (0)