achingbrain / achingbrain/uint8arraylist

Optimize for common usage with libp2p

オープン
#59 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
11
フォーク
9
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。