From d1571770ce9f6fdb98e8ee19d7711498a35bfdd0 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Wed, 3 Oct 2018 10:39:06 +0200 Subject: [PATCH] debt - remove BufferPool because allocUnsafe already uses pooling --- .../files/electron-browser/fileService.ts | 29 +------------------ 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/src/vs/workbench/services/files/electron-browser/fileService.ts b/src/vs/workbench/services/files/electron-browser/fileService.ts index b7ac3d44ee1..41b7fb053e5 100644 --- a/src/vs/workbench/services/files/electron-browser/fileService.ts +++ b/src/vs/workbench/services/files/electron-browser/fileService.ts @@ -44,30 +44,6 @@ import product from 'vs/platform/node/product'; import { IEncodingOverride, ResourceEncodings } from 'vs/workbench/services/files/electron-browser/encoding'; import { createReadableOfSnapshot } from 'vs/workbench/services/files/electron-browser/streams'; -class BufferPool { - - static _64K = new BufferPool(64 * 1024, 5); - - constructor( - readonly bufferSize: number, - private readonly _capacity: number, - private readonly _free: Buffer[] = [], - ) { } - - acquire(): Buffer { - if (this._free.length === 0) { - return Buffer.allocUnsafe(this.bufferSize); - } else { - return this._free.shift(); - } - } - - release(buf: Buffer): void { - if (this._free.length <= this._capacity) { - this._free.push(buf); - } - } -} export interface IFileServiceTestOptions { disableWatcher?: boolean; @@ -414,7 +390,7 @@ export class FileService extends Disposable implements IFileService { private resolveFileData(resource: uri, options: IResolveContentOptions, token: CancellationToken): TPromise { - const chunkBuffer = BufferPool._64K.acquire(); + const chunkBuffer = Buffer.allocUnsafe(64 * 1024); const result: IContentData = { encoding: void 0, @@ -462,9 +438,6 @@ export class FileService extends Disposable implements IFileService { decoder.end(); } - // return the shared buffer - BufferPool._64K.release(chunkBuffer); - if (fd) { fs.close(fd, err => { if (err) { -- GitLab