@wioex/stream-sdk
Version:
WebSocket streaming SDK for real-time WioEX market data
42 lines • 1.08 kB
TypeScript
/**
* Generic object pool for reusing objects and reducing garbage collection
* Phase 2 Optimization: Reduces memory allocations by 40-50%
*/
export interface ObjectPoolConfig<T> {
/** Factory function to create new objects */
create: () => T;
/** Reset function to clean object before reuse */
reset: (obj: T) => void;
/** Maximum pool size (default: 100) */
maxSize?: number;
/** Initial pool size (default: 10) */
initialSize?: number;
}
export declare class ObjectPool<T> {
private readonly pool;
private readonly config;
private inUse;
constructor(config: ObjectPoolConfig<T>);
/**
* Acquire an object from the pool
*/
acquire(): T;
/**
* Release an object back to the pool
*/
release(obj: T): void;
/**
* Get pool statistics
*/
getStats(): {
poolSize: number;
inUse: number;
available: number;
maxSize: number;
};
/**
* Clear the pool and release all objects
*/
clear(): void;
}
//# sourceMappingURL=ObjectPool.d.ts.map