From 128bd00f683a62ef1d77932fb80e8041f27cae47 Mon Sep 17 00:00:00 2001 From: dgriebel2014 Date: Sat, 1 Feb 2025 08:51:30 -0700 Subject: [PATCH] Updates --- js/VideoDB.js | 118 ++++++++++++++++++++++------------------------ js/VideoDB.js.map | 2 +- 2 files changed, 58 insertions(+), 62 deletions(-) diff --git a/js/VideoDB.js b/js/VideoDB.js index 0c7bc47..d2ce36d 100644 --- a/js/VideoDB.js +++ b/js/VideoDB.js @@ -1,10 +1,7 @@ // Copyright © 2025 Jon Griebel. dgriebel2014@gmail.com - All rights reserved. // Distributed under the MIT license. -// videoDB.ts -/** - * A VideoDB class that stores all metadata in CPU memory, - * and actual data on the GPU - */ +// For convenience, define a simple flag for inactive rows, e.g. 0x1. +const ROW_INACTIVE_FLAG = 0x1; export class VideoDB { device; storeMetadataMap; @@ -19,6 +16,8 @@ export class VideoDB { float64View = new DataView(this.float64Buffer); dateParseCache = new Map(); stringCache = new Map(); + textEncoder = new TextEncoder(); + textDecoder = new TextDecoder(); /** * Initializes a new instance of the VideoDB class. * @param {GPUDevice} device - The GPU device to be used for buffer operations. @@ -481,7 +480,7 @@ export class VideoDB { if (rowId == null) { return null; } - const rowMetadata = rows.find((r) => r.rowId === rowId); + const rowMetadata = rows[rowId - 1]; if (!rowMetadata) { return null; } @@ -558,7 +557,7 @@ export class VideoDB { */ allocateFirstBufferChunk(storeMeta, size) { // Dynamically pick a capacity that can hold 'size' - const neededCapacity = Math.max(storeMeta.bufferSize, roundUp(size, 256)); + const neededCapacity = Math.max(storeMeta.bufferSize, this.roundUp(size, 256)); const gpuBuffer = this.device.createBuffer({ size: neededCapacity, usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST, @@ -611,7 +610,7 @@ export class VideoDB { const gpuBuffer = lastBufferMeta.gpuBuffer; const ALIGNMENT = 256; // Align the offset to the nearest multiple of ALIGNMENT (256) - const alignedOffset = roundUp(usedBytes, ALIGNMENT); + const alignedOffset = this.roundUp(usedBytes, ALIGNMENT); // Check if alignedOffset + size exceeds the usable buffer size if (alignedOffset + size > gpuBuffer.size) { return this.allocateNewBufferChunk(storeMeta, size); @@ -639,7 +638,7 @@ export class VideoDB { allocateNewBufferChunk(storeMeta, size) { const newBufferIndex = storeMeta.buffers.length; // Dynamically pick a capacity that can hold 'size' - const neededCapacity = Math.max(storeMeta.bufferSize, roundUp(size, 256)); + const neededCapacity = Math.max(storeMeta.bufferSize, this.roundUp(size, 256)); const newGpuBuffer = this.device.createBuffer({ size: neededCapacity, usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST, @@ -672,8 +671,8 @@ export class VideoDB { switch (storeMeta.dataType) { case "JSON": { let jsonString = JSON.stringify(value); - jsonString = padJsonTo4Bytes(jsonString); - const cloned = new TextEncoder().encode(jsonString).slice(); + jsonString = this.padJsonTo4Bytes(jsonString); + const cloned = this.textEncoder.encode(jsonString).slice(); resultBuffer = cloned.buffer; break; } @@ -701,7 +700,7 @@ export class VideoDB { throw new Error(`Unknown dataType "${storeMeta.dataType}".`); } // *** Finally, ensure the buffer is 4-byte-aligned for WebGPU. *** - return padTo4Bytes(resultBuffer); + return this.padTo4Bytes(resultBuffer); } /** * Finds existing row metadata for a given key or creates a new row entry if one does not exist. @@ -718,7 +717,7 @@ export class VideoDB { let rowId = keyMap.get(key); let rowMetadata = rowId == null ? null - : storeMeta.rows.find((r) => r.rowId === rowId) || null; + : storeMeta.rows[rowId - 1]; // O(1) lookup! // If active row exists and we are in "add" mode, throw: if (mode === "add" && rowMetadata && !((rowMetadata.flags ?? 0) & ROW_INACTIVE_FLAG)) { throw new Error(`Record with key "${key}" already exists in store and overwriting is not allowed (add mode).`); @@ -798,7 +797,7 @@ export class VideoDB { deserializeData(storeMeta, copiedData) { switch (storeMeta.dataType) { case "JSON": { - const jsonString = new TextDecoder().decode(copiedData); + const jsonString = this.textDecoder.decode(copiedData); return JSON.parse(jsonString.trim()); } case "TypedArray": { @@ -1544,54 +1543,51 @@ export class VideoDB { totalUsed += usedBytes; } } -} -// For convenience, define a simple flag for inactive rows, e.g. 0x1. -const ROW_INACTIVE_FLAG = 0x1; -/** - * Rounds the given value up to the nearest multiple of `align`. - * - * @param {number} value - The original value. - * @param {number} align - The alignment boundary. - * @returns {number} The smallest integer >= `value` that is a multiple of `align`. - */ -function roundUp(value, align) { - return Math.ceil(value / align) * align; -} -/** - * Ensures the length of the UTF-8 representation of `jsonString` is a multiple of 4 - * by appending spaces as needed. - * - * @param {string} jsonString - The original JSON string to pad. - * @returns {string} The padded JSON string, whose UTF-8 length is a multiple of 4. - */ -function padJsonTo4Bytes(jsonString) { - const encoder = new TextEncoder(); - const initialBytes = encoder.encode(jsonString).length; - const remainder = initialBytes % 4; - if (remainder === 0) { - return jsonString; + /** + * Rounds the given value up to the nearest multiple of `align`. + * + * @param {number} value - The original value. + * @param {number} align - The alignment boundary. + * @returns {number} The smallest integer >= `value` that is a multiple of `align`. + */ + roundUp(value, align) { + return Math.ceil(value / align) * align; } - const needed = 4 - remainder; - return jsonString + " ".repeat(needed); -} -/** - * Pads the given ArrayBuffer so that its byte length is a multiple of 4. - * If it is already aligned, returns the original buffer. Otherwise, returns - * a new buffer with zero-padding at the end. - * - * @param {ArrayBuffer} ab - The original ArrayBuffer to pad. - * @returns {ArrayBuffer} A 4-byte-aligned ArrayBuffer. - */ -function padTo4Bytes(ab) { - const remainder = ab.byteLength % 4; - if (remainder === 0) { - // Already aligned - return ab; + /** + * Ensures the length of the UTF-8 representation of `jsonString` is a multiple of 4 + * by appending spaces as needed. + * + * @param {string} jsonString - The original JSON string to pad. + * @returns {string} The padded JSON string, whose UTF-8 length is a multiple of 4. + */ + padJsonTo4Bytes(jsonString) { + const initialBytes = this.textEncoder.encode(jsonString).length; + const remainder = initialBytes % 4; + if (remainder === 0) { + return jsonString; + } + const needed = 4 - remainder; + return jsonString + " ".repeat(needed); + } + /** + * Pads the given ArrayBuffer so that its byte length is a multiple of 4. + * If it is already aligned, returns the original buffer. Otherwise, returns + * a new buffer with zero-padding at the end. + * + * @param {ArrayBuffer} ab - The original ArrayBuffer to pad. + * @returns {ArrayBuffer} A 4-byte-aligned ArrayBuffer. + */ + padTo4Bytes(ab) { + const remainder = ab.byteLength % 4; + if (remainder === 0) { + // Already aligned + return ab; + } + const needed = 4 - remainder; + const padded = new Uint8Array(ab.byteLength + needed); + padded.set(new Uint8Array(ab), 0); // Copy the original bytes. + // The extra bytes are left as zero. + return padded.buffer; } - const needed = 4 - remainder; - const padded = new Uint8Array(ab.byteLength + needed); - padded.set(new Uint8Array(ab), 0); // copy the original bytes - // Extra bytes remain zero - return padded.buffer; } //# sourceMappingURL=VideoDB.js.map \ No newline at end of file diff --git a/js/VideoDB.js.map b/js/VideoDB.js.map index 5ea7dad..97a2580 100644 --- a/js/VideoDB.js.map +++ b/js/VideoDB.js.map @@ -1 +1 @@ -{"version":3,"file":"VideoDB.js","sourceRoot":"","sources":["../../src/VideoDB.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"VideoDB.js","sourceRoot":"","sources":["../../src/VideoDB.ts"],"names":[],"mappings":"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"} \ No newline at end of file