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.

Constructors

Constructor

new StreamBuffer(capacity?): StreamBuffer

Defined in: perf/streaming.ts:19

Parameters

capacity?

number = 10_000

Returns

StreamBuffer

Accessors

capacity

Get Signature

get capacity(): number

Defined in: perf/streaming.ts:29

Returns

number


length

Get Signature

get length(): number

Defined in: perf/streaming.ts:25

Current number of elements

Returns

number

Methods

clear()

clear(): void

Defined in: perf/streaming.ts:71

Clear all data

Returns

void


get()

get(index): number

Defined in: perf/streaming.ts:48

Get value at logical index (0 = oldest visible)

Parameters

index

number

Returns

number


minMax()

minMax(): [number, number]

Defined in: perf/streaming.ts:93

Returns

[number, number]


push()

push(value): void

Defined in: perf/streaming.ts:34

Push a single value (O(1))

Parameters

value

number

Returns

void


pushMany()

pushMany(values): void

Defined in: perf/streaming.ts:43

Push multiple values at once

Parameters

values

number[]

Returns

void


tail()

tail(n): number[]

Defined in: perf/streaming.ts:80

Last N values

Parameters

n

number

Returns

number[]


toArray()

toArray(): number[]

Defined in: perf/streaming.ts:57

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

Returns

number[]