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

ruvector-core-linux-arm64-gnu

v0.1.17

Published

Linux ARM64 GNU native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust

Readme

ruvector-core-linux-arm64-gnu

npm version License: MIT

Linux ARM64 GNU native binding for ruvector-core

This package contains the native Node.js binding (.node file) for Linux ARM64 systems with GNU libc. It is automatically installed as an optional dependency when you install ruvector-core on a compatible system.

🌐 Visit ruv.io for more AI infrastructure tools

Installation

You should not install this package directly. Instead, install the main package:

npm install ruvector-core

The correct platform-specific package will be automatically installed based on your system.

System Requirements

  • Operating System: Linux (GNU libc)
  • Architecture: ARM64 / AArch64
  • Node.js: 18.0.0 or higher
  • libc: GNU C Library (glibc)

Compatibility

This package is compatible with:

  • Ubuntu 18.04+ (ARM64)
  • Debian 10+ Buster (ARM64)
  • CentOS 7+ / RHEL 7+ (ARM64)
  • Amazon Linux 2+ (Graviton processors)
  • Raspberry Pi OS 64-bit
  • Most ARM64 Linux distributions using glibc

What's Inside

This package contains:

  • ruvector.node - Native binary module compiled from Rust for ARM64
  • index.js - Module loader with error handling
  • Full HNSW indexing implementation
  • SIMD-optimized vector operations for ARM NEON
  • Multi-threaded async operations via Tokio

Performance

When running on Linux ARM64 systems (like AWS Graviton), you can expect:

  • 50,000+ vector inserts per second
  • 10,000+ searches per second (k=10)
  • ~50 bytes memory per 128-dim vector
  • Sub-millisecond latency for most operations
  • Optimized for ARM NEON SIMD instructions

Popular ARM64 Platforms

  • AWS Graviton (EC2 instances)
  • Raspberry Pi 4/5 (64-bit OS)
  • NVIDIA Jetson (edge AI devices)
  • Apple Silicon (via Docker/Linux)
  • Oracle Cloud (Ampere processors)

Building from Source

If you need to rebuild the native module:

# Clone the repository
git clone https://github.com/ruvnet/ruvector.git
cd ruvector

# Install Rust toolchain with ARM64 target
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add aarch64-unknown-linux-gnu

# Build for Linux ARM64
cd npm/packages/core
npm run build:napi -- --target aarch64-unknown-linux-gnu

Troubleshooting

Module Not Found Error

If you see "Cannot find module 'ruvector-core-linux-arm64-gnu'":

  1. Verify you're on a Linux ARM64 system: uname -m should output aarch64
  2. Reinstall with optional dependencies: npm install --include=optional ruvector-core
  3. Check Node.js version: node --version should be 18.0.0 or higher

Binary Compatibility Issues

If the module fails to load:

  1. Ensure you have glibc installed: ldd --version
  2. The binary requires glibc 2.17+ (CentOS 7+) or 2.27+ (Ubuntu 18.04+)
  3. For Alpine Linux or musl-based systems, this package will not work (use a glibc-based distro)

Cross-Compilation

When building on x64 for ARM64:

# Install cross-compilation tools
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

# Set environment variable
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc

# Build
npm run build:napi -- --target aarch64-unknown-linux-gnu

Related Packages

Resources

License

MIT License - see LICENSE for details.


Built with ❤️ by the ruv.io team