zandaqo / structurae

Data structures for high-performance JavaScript applications.
MIT License
701 stars 21 forks source link

Add unsafeFrom sortedArray initializer? #34

Open Swoorup opened 1 year ago

Swoorup commented 1 year ago

When working with web workers, all methods are stripped away during transfer. Is there a way to initialize the sortedArray at the other end, without the end to sort it again? https://github.com/zandaqo/structurae/blob/master/sorted-array.ts#L30

Swoorup commented 1 year ago

Looks like you could do.

new SortedArray(...[10,9])`

Is that the preferred solution?

zandaqo commented 1 year ago
const sorted = new SortedArray(...array)

Just use the constructor, it doesn't trigger sorting.

EDIT:

Is that the preferred solution?

Yes, at least for now, I have to test how much/and if spreading adds overhead and whether it's worth having a special logic for this situation.

Swoorup commented 1 year ago

I heavily use web workers for short bursts of computation,

I could use the native array methods, but the methods in this library are quite useful 😄 to pass up. Thanks for the library.