taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
196 lines (195 loc) • 4.68 kB
TypeScript
/**
* 性能优化器 - 提升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;
}