@restnfeel/agentc-starter-kit
Version:
한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템
75 lines • 2.37 kB
TypeScript
import React from 'react';
import { ExtendedDeviceInfo } from './real-time-device-monitor';
export interface PerformanceConfig {
enableVirtualization: boolean;
enableLazyLoading: boolean;
enableMemoryManagement: boolean;
enableRAFOptimization: boolean;
enableComputationThrottling: boolean;
enableGarbageCollection: boolean;
maxCacheSize: number;
memoryThreshold: number;
throttleMs: number;
virtualScrollBuffer: number;
}
export interface PerformanceMetrics {
renderTime: number;
updateCount: number;
memoryUsage: number;
frameRate: number;
cacheHitRatio: number;
gcCount: number;
timestamp: number;
}
declare class MemoryManager {
private static instance;
private cache;
private maxSize;
private accessOrder;
constructor(maxSize?: number);
static getInstance(maxSize?: number): MemoryManager;
set(key: string, value: any): void;
get(key: string): any;
clear(): void;
getStats(): {
size: number;
maxSize: number;
usage: number;
};
}
export declare const usePerformanceOptimizer: (config: Partial<PerformanceConfig>, deviceInfo: ExtendedDeviceInfo) => {
metrics: PerformanceMetrics;
measureRenderTime: () => void;
recordRenderTime: () => void;
throttledComputation: (computation: () => void, delay?: number) => void;
cache: {
get: (key: string) => any;
set: (key: string, value: any) => void;
clear: () => void;
};
memoryManager: MemoryManager;
isOptimized: boolean;
};
interface PerformanceWrapperProps {
children: React.ReactNode;
config?: Partial<PerformanceConfig>;
deviceInfo: ExtendedDeviceInfo;
enableDebug?: boolean;
}
export declare const PerformanceWrapper: React.FC<PerformanceWrapperProps>;
interface VirtualizedListProps {
items: any[];
itemHeight: number;
containerHeight: number;
renderItem: (item: any, index: number) => React.ReactNode;
overscan?: number;
}
export declare const VirtualizedList: React.FC<VirtualizedListProps>;
interface LazyComponentProps {
loader: () => Promise<React.ComponentType<any>>;
fallback?: React.ComponentType;
threshold?: number;
}
export declare const LazyComponent: React.FC<LazyComponentProps>;
export default PerformanceWrapper;
//# sourceMappingURL=performance-optimizer.d.ts.map