achingbrain / achingbrain/uint8arraylist
Optimize for common usage with libp2p
- Lingua principale
- TypeScript
- Stelle
- 11
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
In many cases for the libp2p packages this lib is only used for the cases when N = 1, and the flow is usually "append" -> "sublist" -> "consume". Usually, also, the array only contains 1 element.
So
1). Append
Initialize the empty array in the constructur, and append 1 element to it
2). Sublist
Aquire a sublist which is in many cases just a shallow copy of this array
3). Consume
Make the array empty again
---
If this lib instead of utilize an ```linked list``` instead, we could in theory get overall better performance.
1). Append
On appending the first element, the head is set to the first element
2).
A shallow copy
3).
set the head and tail to be undefined
We could do even better, if we combine 2 and 3 into one method called "splice", we can cut the linked list at an appropriate place, which means that we will do much less operations.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.