Skip to content

StreamBuffer

Defined in: perf/streaming.ts:11

StreamBuffer — Append-only ring buffer for streaming/real-time data.

Maintains a fixed-capacity buffer of the most recent N points, discarding the oldest when full. Avoids re-allocating arrays on every data push (which is the bottleneck in naive approaches).

Provides O(1) append, O(1) access, and O(n) snapshot.

new StreamBuffer(capacity?): StreamBuffer

Defined in: perf/streaming.ts:19

number = 10_000

StreamBuffer

get capacity(): number

Defined in: perf/streaming.ts:29

number


get length(): number

Defined in: perf/streaming.ts:25

Current number of elements

number

clear(): void

Defined in: perf/streaming.ts:71

Clear all data

void


get(index): number

Defined in: perf/streaming.ts:48

Get value at logical index (0 = oldest visible)

number

number


minMax(): [number, number]

Defined in: perf/streaming.ts:93

[number, number]


push(value): void

Defined in: perf/streaming.ts:34

Push a single value (O(1))

number

void


pushMany(values): void

Defined in: perf/streaming.ts:43

Push multiple values at once

number[]

void


tail(n): number[]

Defined in: perf/streaming.ts:80

Last N values

number

number[]


toArray(): number[]

Defined in: perf/streaming.ts:57

Get all values as a plain number[] (cached until dirty)

number[]