🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

integer-queue

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

integer-queue

A fast queue for integers.

0.1.1
latest
Source
npm
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

Queue

This is a fixed-size queue that is uses typed arrays to beat the native implementation in terms of speed.

Installation

npm install integer-queue, then require('integer-queue').

Usage

new Queue(size[, type])

Create a new Queue that holds size elements of type type (see typed array views). This defaults to Int32Array.

queue.enqueue(item)

Attempt to enqueue item. If the queue is full, throw a QueueException. If item cannot be represented as an instance of the Queue's type, behaviour following this action is undefined.

queue.dequeue()

Attempt to dequeue the next item. If the queue is empty, throw a QueueException.

Testing, etc.

Run npm test to run the test suite. Run grunt profile to see how this queue performs against a naive solution using native arrays. Notice that the naive solution slows dramatically past 100k elements or so (because of an optimisation trick that Node.js uses for small arrays).

Implementation details

Using an array is a bad idea, because shift re-indexes the array every time and thus a push/shift (or even worse, an unshift/pop) queue runs in linear time with respect to its length.

Keywords

queue

FAQs

Package last updated on 24 Dec 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts