achingbrain / achingbrain/uint8arraylist

Optimize for common usage with libp2p

Ouverte
#59 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
11
Forks
9
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.