Socket
Socket
Sign inDemoInstall

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.


Version published
Weekly downloads
1
decreased by-50%
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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc