Skip to content

Consider removing @watchable/queue from nevermore #84

@cefn

Description

@cefn

Currently @watchable/queue is used by nevermore to sequence job settlements. The implementation of @watchable/queue employs immutable arrays (meaning every insertion copies items into a new array). This could lead to a significant performance impact when there is a backlog of e.g. 1000-plus items. It may explain why bulk tests slow down after e.g. 10000 items

A better design would be to employ a FIFO queue employing a linked list with head and tail pointers. This has an O(1) insertion and removal cost regardless of the length of the queue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions