google/highway

Performance-portable, length-agnostic SIMD with runtime dispatch

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 11th, 2026
Created on September 6th, 2019
Open Issues & Pull Requests: 73 (+0)
GitHub issues: Enabled
Number of forks: 470
Total Stargazers: 5,818 (+1)
Total Subscribers: 54 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.7 hours
Mean response time: 5.5 days
90th percentile: 2.6 days
Tracked items: 191

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 7% of issues opened in the past year have been closed. Three people close 67% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 32
New in 7 days: 4
Closed in 7 days: 3
Avg open age: 289 days
Stale 30+ days: 23
Stale 90+ days: 14

Recent activity

Opened in 7 days: 4
Closed in 7 days: 3
Comments in 7 days: 5
Events in 7 days: 10

Top labels

No label distribution available yet.

Detailed Description

Highway is a C++ library that provides portable SIMD/vector intrinsics with runtime dispatch across multiple CPU architectures.

Highway solves the problem of writing high-performance vector code that works reliably across different processors and instruction sets. SIMD instructions apply the same operation to multiple data items simultaneously, potentially reducing energy usage fivefold and delivering 5-10x speedups. Highway's approach uses carefully-chosen functions that map directly to CPU instructions without requiring extensive compiler transformations, making the resulting code more predictable and robust to compiler changes than autovectorization. The library supports seven architectures including x86 variants (SSE4.2, AVX, AVX-2, AVX-512), ARM NEON, and WebAssembly, allowing the same application code to target various instruction sets including those with scalable vectors whose size is unknown at compile time.

Developers should choose Highway if they need reliable performance gains from SIMD without the fragility of hand-written intrinsics or autovectorization. It suits applications in image processing, compression, video analysis, linear algebra, cryptography, sorting, and random generation. The library requires only C++17 and supports four compiler families. Applications can run on heterogeneous clouds or client devices, selecting the best available instruction set at runtime, or developers can target a single instruction set with no runtime overhead by changing only one line of code. The biggest performance gains come from designing algorithms and data structures for scalable vectors using techniques like batching and structure-of-array layouts, though Highway also provides tools like Gather and MaskedLoad for accelerating legacy data structures.

The project maintains a substantial base of adopters who report real-world issues, with almost all open issues raised by outside users rather than the core team. Maintainers typically respond to new issues and pull requests within hours.