feat(performance): Add async utility functions and filesystem utilities

- Implemented async utilities including delay, retryWithBackoff, withTimeout, parallelLimit, debounceAsync, AsyncMutex, and CircuitBreaker.
- Created tests for async utilities to ensure functionality and reliability.
- Developed AsyncFileSystem class with methods for file and directory operations, including ensureDir, readFile, writeFile, remove, and more.
- Added tests for filesystem utilities to validate file operations and error handling.
This commit is contained in:
2025-05-31 17:45:40 +00:00
parent 02603c3b07
commit 7b81186bb3
12 changed files with 1437 additions and 292 deletions

View File

@ -4,9 +4,9 @@
This plan addresses critical performance issues in SmartProxy that impact scalability, responsiveness, and stability. The approach is phased, starting with critical event loop blockers and progressing to long-term architectural improvements.
## Phase 1: Critical Issues (Week 1)
## Phase 1: Critical Issues (Week 1) ✅ COMPLETE
### 1.1 Eliminate Busy Wait Loop
### 1.1 Eliminate Busy Wait Loop
**Issue**: `ts/proxies/nftables-proxy/nftables-proxy.ts:235-238` blocks the entire event loop
@ -31,7 +31,7 @@ await delay(retryDelayMs);
2. Replace all synchronous sleeps with async delay
3. Ensure all calling functions are async
### 1.2 Async Filesystem Operations
### 1.2 Async Filesystem Operations
**Issue**: Multiple synchronous filesystem operations blocking the event loop