npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

fasterdash

v0.1.0

Published

Lodash replacement for large data sets. Implemted in Rust

Downloads

4

Readme

Fasterdash

Fasterdash speeds up certain lodash functions dramatically when using integers (32 bit). The speed improvement comes from using Rust compiled into WebAssemby.

NOTE: Currently the WebAssembly code always returns arrays as Int32Array's (see example in "How to use" section). So it is only recommended to use this package when dealing with numbers or where you do no care about it being converted to Int32Array. You can convert it back yourself but that comes with a performance cost so we decided not to automatically convert back.

Currently the only function that is supported is:

  • compact

Benchmark Results

  • compact compact Benchmark Results

How to use

import fasterdash from 'fasterdash'

const compactResult = fasterdash.compact([1, false, 0, 3, 4, false])

console.log({compactResult})

// => { compactResult: Int32Array(3) [ 1, 3, 4 ] }

Functions that we have decided not to include in this repo

If you look at commit 4ccfd38f5df26b0a20c03e7e40ed127c5efcbb24 you can see these additional functions used to be implemented:

chunk
cloneDeep
difference
fill
filter
flatten
flattenDeep
groupBy
merge
orderBy
range
reduce
reverse
sum
uniq

However they were all removed from this library because they were benchmarked and were slower than the pure JS implementation that lodash provides.

Future Improvements

  • Explore using generics or more permissive data types in Rust to make this package more versitile
  • Test other lodash functions to optimize. There will be unique scenarios where they might run faster and be more memory efficient that the JS implementations since lodash is specifically optimized for common use cases at the expense of rare use cases. Rust especially excells at memory management compared to javascript, so functions that require a lot of new array instantiation are good targets to optimize.
  • Experiment with parallelizing some operations and run them on the GPU
  • Experiment with calling different functions depending on the size of the dataset. For instance for very small datasets it is likely faster to use lodash. So, for instance, this package could dynamically decide whether to use lodash or to use fasterdash implementation depending on the size of the array being passed in
  • Explore if any of the functions that we decided not to include could be futher optimized in order to be faster than lodash