UNPKG

taskflow-ai

Version:

TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具

196 lines (195 loc) 4.68 kB
/** * 性能优化器 - 提升TaskFlow AI系统性能 * 包括缓存优化、并发处理、内存管理、算法优化等 */ import { Logger } from '../../infra/logger'; import { ConfigManager } from '../../infra/config'; import { TaskPlan } from '../../types/task'; import { Requirement } from '../parser/requirement-extractor'; /** * 性能指标接口 */ export interface PerformanceMetrics { executionTime: number; memoryUsage: number; cpuUsage: number; throughput: number; latency: number; errorRate: number; cacheHitRate: number; concurrency: number; } /** * 性能优化配置 */ export interface OptimizationConfig { enableCaching: boolean; enableParallelProcessing: boolean; enableMemoryOptimization: boolean; enableAlgorithmOptimization: boolean; maxConcurrency: number; cacheSize: number; memoryThreshold: number; timeoutThreshold: number; } /** * 性能优化器类 */ export declare class PerformanceOptimizer { private logger; private configManager; private config; private cache; private metrics; private performanceHistory; private concurrentTasks; constructor(logger: Logger, configManager: ConfigManager); /** * 优化需求解析性能 * @param extractFunction 原始提取函数 * @param content 文档内容 * @param options 选项 */ optimizeRequirementExtraction<T>(extractFunction: (content: string, options?: any) => Promise<T>, content: string, options?: any): Promise<T>; /** * 优化任务生成性能 * @param generateFunction 原始生成函数 * @param requirements 需求列表 * @param options 选项 */ optimizeTaskGeneration(generateFunction: (requirements: Requirement[], options?: any) => Promise<TaskPlan>, requirements: Requirement[], options?: unknown): Promise<TaskPlan>; /** * 优化AI模型调用性能 * @param modelFunction 模型调用函数 * @param input 输入数据 * @param options 选项 */ optimizeAIModelCall<T, R>(modelFunction: (input: T, options?: any) => Promise<R>, input: T, options?: any): Promise<R>; /** * 批量优化处理 * @param items 待处理项目列表 * @param processor 处理函数 * @param batchSize 批次大小 */ batchOptimize<T, R>(items: T[], processor: (item: T) => Promise<R>, batchSize?: number): Promise<R[]>; /** * 获取性能指标 */ getMetrics(): PerformanceMetrics; /** * 获取性能历史 */ getPerformanceHistory(): PerformanceMetrics[]; /** * 获取缓存统计 */ getCacheStats(): { size: number; hitRate: number; memoryUsage: number; }; /** * 清理缓存 */ clearCache(): void; /** * 优化系统配置 */ optimizeConfiguration(): void; /** * 加载优化配置 */ private loadOptimizationConfig; /** * 初始化性能指标 */ private initializeMetrics; /** * 更新性能指标 */ private updateMetrics; /** * 生成缓存键 */ private generateCacheKey; /** * 简单哈希函数 */ private simpleHash; /** * 从缓存获取数据 */ private getFromCache; /** * 设置缓存数据 */ private setCache; /** * 驱逐最近最少使用的缓存项 */ private evictLeastRecentlyUsed; /** * 处理大文档 */ private processLargeDocument; /** * 合并结果 */ private mergeResults; /** * 并行任务生成 */ private parallelTaskGeneration; /** * 合并任务计划 */ private mergeTaskPlans; /** * 优化任务依赖关系 */ private optimizeTaskDependencies; /** * 拓扑排序 */ private topologicalSort; /** * 重试机制 */ private withRetry; /** * 等待可用槽位 */ private waitForAvailableSlot; /** * 生成任务ID */ private generateTaskId; /** * 强制垃圾回收 */ private forceGarbageCollection; /** * 获取当前内存使用量 */ private getCurrentMemoryUsage; /** * 获取当前CPU使用率 */ private getCurrentCpuUsage; /** * 估算缓存内存使用量 */ private estimateCacheMemoryUsage; /** * 估算对象大小 */ private estimateObjectSize; /** * 启动性能监控 */ private startPerformanceMonitoring; /** * 启动缓存清理 */ private startCacheCleanup; }