Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 7 additions & 11 deletions candle-binding/src/classifiers/lora/parallel_engine_test.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//! Tests for Parallel LoRA Engine with performance benchmarks

use crate::test_fixtures::fixtures::*;
use rayon::prelude::*;
use rstest::*;
use serial_test::serial;
use std::sync::Arc;
Expand Down Expand Up @@ -207,19 +208,14 @@ fn test_performance_concurrent_requests(
println!("\n🔢 Testing with {} concurrent requests", num_threads);

let start = Instant::now();
let handles: Vec<_> = (0..*num_threads)
.map(|_| {
let classifier = Arc::clone(classifier);
std::thread::spawn(move || classifier.classify_intent(test_text))
})

// Use rayon for parallel execution - simpler and more efficient
let results: Vec<_> = (0..*num_threads)
.into_par_iter()
.map(|_| classifier.classify_intent(test_text))
.collect();

let mut success_count = 0;
for handle in handles {
if handle.join().is_ok() {
success_count += 1;
}
}
let success_count = results.iter().filter(|r| r.is_ok()).count();

let duration = start.elapsed();
println!(
Expand Down
4 changes: 4 additions & 0 deletions candle-binding/src/core/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,8 @@ pub use tokenization::{
#[cfg(test)]
pub mod config_loader_test;
#[cfg(test)]
pub mod similarity_test;
#[cfg(test)]
pub mod tokenization_test;
#[cfg(test)]
pub mod unified_error_test;
Loading
Loading