feat: parallel async processing and compact output mode
Major performance improvements: - Parallel search execution across all queries - Parallel article fetching with 10 concurrent limit - Parallel embeddings with rate limiting (4 concurrent) - Polly integration for retry resilience New features: - Add -v/--verbose flag for detailed output - Compact single-line status mode with braille spinner - StatusReporter service for unified output handling - Query generation and errors hidden in compact mode - ANSI escape codes for clean line updates New files: - Services/RateLimiter.cs - Semaphore-based concurrency control - Services/StatusReporter.cs - Verbose/compact output handler - Models/ParallelOptions.cs - Parallel processing configuration All changes maintain Native AOT compatibility.
This commit is contained in:
@@ -6,5 +6,6 @@ public record OpenQueryOptions(
|
||||
int Queries,
|
||||
bool Short,
|
||||
bool Long,
|
||||
bool Verbose,
|
||||
string Question
|
||||
);
|
||||
);
|
||||
|
||||
8
Models/ParallelOptions.cs
Normal file
8
Models/ParallelOptions.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace OpenQuery.Models;
|
||||
|
||||
public class ParallelProcessingOptions
|
||||
{
|
||||
public int MaxConcurrentArticleFetches { get; set; } = 10;
|
||||
public int MaxConcurrentEmbeddingRequests { get; set; } = 4;
|
||||
public int EmbeddingBatchSize { get; set; } = 300;
|
||||
}
|
||||
Reference in New Issue
Block a user