{"slug": "highway", "name": "Highway", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 5, "commenters": 7, "warners": 1, "score": 3.901, "rising": -0.31, "first": "2025-11-05", "latest": "2026-09-25", "why": "imo this is one of the greatest libs ever written.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 6, "neutral": 0, "compare": 1, "warn": 1}, "spark": [1, 0, 1, 0, 0, 0, 0, 0, 3, 1, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "imo this is one of the greatest libs ever written.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/google/highway", "official_url": "https://github.com/google/highway", "pricing": "", "aliases": ["Highway"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 788016112, "item_id": 49251007, "url": "https://news.ycombinator.com/item?id=49251007", "by": "grokcodec", "date": "2026-08-10", "stance": "recommend", "quote": "I would love to have an open source Rust SIMD library with the scope and maturity that", "excerpt": "I would love to have an open source Rust SIMD library with the scope and maturity that https://github.com/google/highway brings to C++.", "context": "", "use_case": "SIMD library for C++", "switched_from": "", "story": "Rust SIMD on the GPU"}, {"id": 784512976, "item_id": 49032061, "url": "https://news.ycombinator.com/item?id=49032061", "by": "spider-mario", "date": "2026-07-23", "stance": "recommend", "quote": "Use a library like Highway?", "excerpt": "> How is that different from any other compiler optimization? When it can be single-handedly responsible for an 8\u00d7 speedup, you might not want to rely as much on the compiler as in the case of smaller, cumulative optimisations. > And what is the alternative? Handroll manual SIMD code for every possible architecture you may target? Use a library like Highway? https://github.com/google/highway", "context": "", "use_case": "Portable SIMD abstraction", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784330768, "item_id": 49020673, "url": "https://news.ycombinator.com/item?id=49020673", "by": "dupontcyborg", "date": "2026-07-23", "stance": "recommend", "quote": "imo this is one of the greatest libs ever written.", "excerpt": "we make extensive use of simd at work, usually through highway: https://github.com/google/highway imo this is one of the greatest libs ever written. it handles dynamic dispatching of correct simd instructions / lane widths for various hardware with just one simd loop written (handling NEON/AVX/AVX2/AVX512/extensions) with comparable performance to handwritten native intrinsics", "context": "uses SIMD extensively at work", "use_case": "portable SIMD code", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784198721, "item_id": 49012420, "url": "https://news.ycombinator.com/item?id=49012420", "by": "mitchellh", "date": "2026-07-22", "stance": "recommend", "quote": "Highway compiles our SIMD modules for different hardware configurations", "excerpt": "> mitchell, i know you hang around some of these comments sometimes hi im here > i noticed that in ghostty you bring in some c++ libs to do the simd heavy lifting for you. any plans to port that to zig? anything missing from the language or libs that's preventing it? No plans to port it. For others, this is referencing highway: https://github.com/google/highway The major limitation of Zig's vectors is that they're co", "context": "", "use_case": "runtime SIMD dispatch", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 770670320, "item_id": 48166895, "url": "https://news.ycombinator.com/item?id=48166895", "by": "camel-cdr", "date": "2026-05-17", "stance": "recommend", "quote": "apart from that it's quite simple to use", "excerpt": "Here is a highway example: https://gcc.godbolt.org/z/7sdPr61W6 There is a bit of boilerplate to get dynamic dispatch working, but apart from that it's quite simple to use.", "context": "", "use_case": "Portable SIMD dispatch", "switched_from": "", "story": "C++26 Shipped a SIMD Library Nobody Asked For"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 770695905, "item_id": 48168494, "url": "https://news.ycombinator.com/item?id=48168494", "by": "fweimer", "date": "2026-05-17", "stance": "warn", "quote": "some people interpreted https://github.com/google/highway/issues/1895 as meaning that Highway code does not work on z13 at all.", "excerpt": "People reported challenges building V8 (whether upstream or the Node.js variant) on s390x with z13 support. I don't know if it was discussed on the porters mailing list because it's not public: https://groups.google.com/g/v8-s390-ports Elsewhere, some people interpreted https://github.com/google/highway/issues/1895 as meaning that Highway code does not work on z13 at all.", "context": "", "use_case": "", "switched_from": "", "story": "C++26 Shipped a SIMD Library Nobody Asked For"}, {"id": 770680320, "item_id": 48167520, "url": "https://news.ycombinator.com/item?id=48167520", "by": "fweimer", "date": "2026-05-17", "stance": "warn", "quote": "Projects that depend on Highway drop support for CPUs not listed in the Highway documentation", "excerpt": "Does it have fallback paths for everything, though? Scalar if necessary? Projects that depend on Highway drop support for CPUs not listed in the Highway documentation, saying that they can't support these CPUs because they are incompatible with Highway: https://google.github.io/highway/en/master/README.html#current-status Are these projects somehow mistaken?", "context": "", "use_case": "Portable SIMD intrinsics", "switched_from": "", "story": "C++26 Shipped a SIMD Library Nobody Asked For"}]}], "who": [{"by": "dupontcyborg", "context": "uses SIMD extensively at work", "url": "https://news.ycombinator.com/item?id=49020673", "date": "2026-07-23"}, {"by": "spider-mario", "context": "Google engineer, not on Highway", "url": "https://news.ycombinator.com/item?id=45820843", "date": "2025-11-05"}], "tags": [], "use_cases": ["simd library", "simd library for c++", "portable simd abstraction", "portable simd code", "runtime simd dispatch", "portable simd intrinsics"], "compared": [], "makers": [{"id": 797588720, "item_id": 49849295, "url": "https://news.ycombinator.com/item?id=49849295", "by": "genxy", "date": "2026-09-25", "stance": "recommend", "quote": "", "excerpt": "https://github.com/google/highway", "context": "", "use_case": "SIMD library", "switched_from": "", "story": "Platform-independent SIMD in Go"}, {"id": 797563648, "item_id": 49847728, "url": "https://news.ycombinator.com/item?id=49847728", "by": "janwas", "date": "2026-09-25", "stance": "recommend", "quote": "We recently published another", "excerpt": "We recently published another: https://github.com/google/highway/blob/master/g3doc/tutorial.md", "context": "", "use_case": "", "switched_from": "", "story": "Platform-independent SIMD in Go"}, {"id": 796829796, "item_id": 49801862, "url": "https://news.ycombinator.com/item?id=49801862", "by": "tegeek", "date": "2026-09-22", "stance": "recommend", "quote": "Here is one my project is opened source. Highway https://github.com/System-D-AB/highway", "excerpt": "Here is one my project is opened source. Highway https://github.com/System-D-AB/highway It is fault tolerant, distributed broker which gurantees durable queues, pub/sub and RPC all into one easy to use programming model. The application is in production and passing millions of messages every day with sub-millisecond performance, you can crash a server and replica set invokes within seconds without losing any messages", "context": "", "use_case": "Fault-tolerant message broker", "switched_from": "", "story": "AI Has No Wisdom and Neither Will You"}, {"id": 757929904, "item_id": 47370619, "url": "https://news.ycombinator.com/item?id=47370619", "by": "camel-cdr", "date": "2026-03-13", "stance": "recommend", "quote": "", "excerpt": "> For example, should we use vrgather (with what LMUL), or interesting workarounds such as widening+slide1, to implement a basic operation such as interleaving two vectors? Use Zvzip, in the mean time: zip: vwmaccu.vx(vwaddu.vv(a, b), -1, b), or segmented load/store when you are touching memory anyways unzip: vsnrl trn1/trn2: masked vslide1up/vslide1down with even/odd mask The only thing base RVV does bad in those is", "context": "", "use_case": "portable SIMD vector code", "switched_from": "", "story": "RISC-V Is Sloooow"}, {"id": 757903488, "item_id": 47368968, "url": "https://news.ycombinator.com/item?id=47368968", "by": "janwas", "date": "2026-03-13", "stance": "recommend", "quote": "uses our Highway library to run on whatever size vectors", "excerpt": "(Personal opinion) I get the impression that RISC-V-related discussions often lack of awareness of prior work/alternatives. A large amount of (x86) software actually uses our Highway library to run on whatever size vectors and instructions the CPU offers. This works quite well in practice. As to leaving performance on the table, it seems RVV has some egregious performance differences/cliffs. For example, should we us", "context": "", "use_case": "Portable SIMD vector library", "switched_from": "", "story": "RISC-V Is Sloooow"}], "threads": [{"url": "https://news.ycombinator.com/item?id=49010648", "title": "Everyone Should Know SIMD", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48144584", "title": "C++26 Shipped a SIMD Library Nobody Asked For", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49843269", "title": "Platform-independent SIMD in Go", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47328214", "title": "RISC-V Is Sloooow", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49800085", "title": "Fearless SIMD v1.0", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49799965", "title": "AI Has No Wisdom and Neither Will You", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"warn": 1}, "2026-06": {}, "2026-07": {"recommend": 3}, "2026-08": {"recommend": 1}, "2026-09": {"compare": 1}, "2026-10": {}}, "quotes": [{"id": 797420128, "item_id": 49838758, "url": "https://news.ycombinator.com/item?id=49838758", "by": "skavi", "date": "2026-09-25", "stance": "compare", "quote": "compare this library's design to https://github.com/google/highway", "excerpt": "Would anyone be able to compare this library's design to https://github.com/google/highway?", "context": "", "use_case": "SIMD library", "switched_from": "", "story": "Fearless SIMD v1.0"}, {"id": 788016112, "item_id": 49251007, "url": "https://news.ycombinator.com/item?id=49251007", "by": "grokcodec", "date": "2026-08-10", "stance": "recommend", "quote": "I would love to have an open source Rust SIMD library with the scope and maturity that", "excerpt": "I would love to have an open source Rust SIMD library with the scope and maturity that https://github.com/google/highway brings to C++.", "context": "", "use_case": "SIMD library for C++", "switched_from": "", "story": "Rust SIMD on the GPU"}, {"id": 784512976, "item_id": 49032061, "url": "https://news.ycombinator.com/item?id=49032061", "by": "spider-mario", "date": "2026-07-23", "stance": "recommend", "quote": "Use a library like Highway?", "excerpt": "> How is that different from any other compiler optimization? When it can be single-handedly responsible for an 8\u00d7 speedup, you might not want to rely as much on the compiler as in the case of smaller, cumulative optimisations. > And what is the alternative? Handroll manual SIMD code for every possible architecture you may target? Use a library like Highway? https://github.com/google/highway", "context": "", "use_case": "Portable SIMD abstraction", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784330768, "item_id": 49020673, "url": "https://news.ycombinator.com/item?id=49020673", "by": "dupontcyborg", "date": "2026-07-23", "stance": "recommend", "quote": "imo this is one of the greatest libs ever written.", "excerpt": "we make extensive use of simd at work, usually through highway: https://github.com/google/highway imo this is one of the greatest libs ever written. it handles dynamic dispatching of correct simd instructions / lane widths for various hardware with just one simd loop written (handling NEON/AVX/AVX2/AVX512/extensions) with comparable performance to handwritten native intrinsics", "context": "uses SIMD extensively at work", "use_case": "portable SIMD code", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784198721, "item_id": 49012420, "url": "https://news.ycombinator.com/item?id=49012420", "by": "mitchellh", "date": "2026-07-22", "stance": "recommend", "quote": "Highway compiles our SIMD modules for different hardware configurations", "excerpt": "> mitchell, i know you hang around some of these comments sometimes hi im here > i noticed that in ghostty you bring in some c++ libs to do the simd heavy lifting for you. any plans to port that to zig? anything missing from the language or libs that's preventing it? No plans to port it. For others, this is referencing highway: https://github.com/google/highway The major limitation of Zig's vectors is that they're co", "context": "", "use_case": "runtime SIMD dispatch", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 770695905, "item_id": 48168494, "url": "https://news.ycombinator.com/item?id=48168494", "by": "fweimer", "date": "2026-05-17", "stance": "warn", "quote": "some people interpreted https://github.com/google/highway/issues/1895 as meaning that Highway code does not work on z13 at all.", "excerpt": "People reported challenges building V8 (whether upstream or the Node.js variant) on s390x with z13 support. I don't know if it was discussed on the porters mailing list because it's not public: https://groups.google.com/g/v8-s390-ports Elsewhere, some people interpreted https://github.com/google/highway/issues/1895 as meaning that Highway code does not work on z13 at all.", "context": "", "use_case": "", "switched_from": "", "story": "C++26 Shipped a SIMD Library Nobody Asked For"}, {"id": 770680320, "item_id": 48167520, "url": "https://news.ycombinator.com/item?id=48167520", "by": "fweimer", "date": "2026-05-17", "stance": "warn", "quote": "Projects that depend on Highway drop support for CPUs not listed in the Highway documentation", "excerpt": "Does it have fallback paths for everything, though? Scalar if necessary? Projects that depend on Highway drop support for CPUs not listed in the Highway documentation, saying that they can't support these CPUs because they are incompatible with Highway: https://google.github.io/highway/en/master/README.html#current-status Are these projects somehow mistaken?", "context": "", "use_case": "Portable SIMD intrinsics", "switched_from": "", "story": "C++26 Shipped a SIMD Library Nobody Asked For"}, {"id": 770670320, "item_id": 48166895, "url": "https://news.ycombinator.com/item?id=48166895", "by": "camel-cdr", "date": "2026-05-17", "stance": "recommend", "quote": "apart from that it's quite simple to use", "excerpt": "Here is a highway example: https://gcc.godbolt.org/z/7sdPr61W6 There is a bit of boilerplate to get dynamic dispatch working, but apart from that it's quite simple to use.", "context": "", "use_case": "Portable SIMD dispatch", "switched_from": "", "story": "C++26 Shipped a SIMD Library Nobody Asked For"}, {"id": 748812193, "item_id": 46800762, "url": "https://news.ycombinator.com/item?id=46800762", "by": "austinvhuang", "date": "2026-01-28", "stance": "recommend", "quote": "I learned to appreciate SIMD (via highway) as one sweet spot", "excerpt": "My first implementation of gemma.cpp was kind of like this. There's such a massive performance differential vs. SIMD though that I learned to appreciate SIMD (via highway) as one sweet spot of low-dependency portability that sits between C loops and the messy world of GPUs + their fat tree of dependencies. If anyone want to learn the basics - whip out your favorite LLM pair programmer and ask it to help you study the", "context": "", "use_case": "", "switched_from": "", "story": "I have written gemma3 inference in pure C"}, {"id": 733133488, "item_id": 45820843, "url": "https://news.ycombinator.com/item?id=45820843", "by": "spider-mario", "date": "2025-11-05", "stance": "recommend", "quote": "this can be achieved portably using the Highway library", "excerpt": "In C++, this can be achieved portably using the Highway library: https://github.com/google/highway (Disclaimer: I work at Google, but not on this, and I am writing this in my personal capacity.)", "context": "Google engineer, not on Highway", "use_case": "portable SIMD in C++", "switched_from": "", "story": "Vectorizing for Fun and Performance"}]}