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[]