nonstd-lite VS abseil-cpp

Compare nonstd-lite vs abseil-cpp and see what are their differences.

nonstd-lite

Parent of *-lite repositories, a migration path to post-C++98 library features via polyfills. (by martinmoene)

abseil-cpp

Abseil Common Libraries (C++) (by abseil)
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
nonstd-lite abseil-cpp
1 71
91 17,306
- 0.5%
6.2 9.5
8 months ago 5 days ago
Batchfile C++
gtkbook License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nonstd-lite

Posts with mentions or reviews of nonstd-lite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-24.

abseil-cpp

Posts with mentions or reviews of abseil-cpp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-03-28.
  • Abseil Common Libraries (C++)
    1 project | news.ycombinator.com | 16 May 2026
  • The Fastest Linux Timestamps
    1 project | news.ycombinator.com | 26 Apr 2026
    Related reading is absl’s linear approximation of gettime from cycle counters, which I thought is a neat trick: https://github.com/abseil/abseil-cpp/blob/351086314d46e73d43...
  • C++26: A User-Friednly assert() macro
    4 projects | news.ycombinator.com | 28 Mar 2026
    assert() is meant to be compiled away if NDEBUG is defined, otherwise it shouldn't be called assert(). Given that assert() may be compiled away, it makes sense not to give it anything that has side effects.

    Abseil has the convention where instead of assert(), users call "CHECK" for checks that are guaranteed to happen at run time, or "DCHECK" for checks that will be compiled away when NDEBUG is defined.

    https://github.com/abseil/abseil-cpp/blob/0093ac6cac892086a6...

    https://github.com/abseil/abseil-cpp/blob/0093ac6cac892086a6...

  • High-performance header-only container library for C++23 on x86-64
    3 projects | news.ycombinator.com | 6 Jan 2026
    https://github.com/abseil/abseil-cpp/blob/master/absl/contai... mentions that b-tree maps hold multiple values per node, which makes them more cache-friendly than the red-black trees used in std::map.

    You use either container when you want a sorted associative map type, which I have not found many uses cases for in my work. I might have a handful of them versus many instances of vectors and unsorted associative maps, i.e. absl::flat_hash_map.

  • Monads in C# (Part 2): Result
    12 projects | news.ycombinator.com | 1 Jan 2026
  • The unreasonable effectiveness of modern sort algorithms
    3 projects | news.ycombinator.com | 11 Sep 2025
    A looong time ago I wrote my first blog post - on a now defunct website - about a VecMap where I did exactly that. Sort when needed and full flat array. That said flat_map as coined by Google is an acronym for swiss tables. See [1]. I.e. exactly what Rust's standard library `HashMap` is, also the one being tested here.

    [1] https://github.com/abseil/abseil-cpp/blob/23b9b75217721040f5...

  • C++: zero-cost static initialization
    2 projects | news.ycombinator.com | 18 Jul 2025
    Looks similar to absl::NoDestructor

    https://github.com/abseil/abseil-cpp/blob/master/absl/base/n...

    Which is basically the only usage of std::launder I have seen

  • Show HN: CXXStateTree – A modern C++ library for hierarchical state machines
    10 projects | news.ycombinator.com | 6 Jul 2025
    You'll see a fairly even split amongst S-tier, "possibly headed for standardization" level libraries. I'd say there's a skew for `#ifndef` in projects that are more "aspires to the standard library" and for `#pragma once` in projects that are more focused on like a very specific vertical.

    `#pragma once` seems to be far preferred for internal code, there's an argument for being strictly conforming if you're putting out a library. I've converted stuff to `#ifndef` before sharing it, but I think heavy C++ people usually type `#pragma once` in the privacy of their own little repository.

    - `spdlog`: `#pragma once` https://github.com/gabime/spdlog/blob/v1.x/include/spdlog/as...

    - `absl`: `#ifndef` https://github.com/abseil/abseil-cpp/blob/master/absl/base/a...

    - `zpp_bits`: `#ifndef` https://github.com/eyalz800/zpp_bits/blob/main/zpp_bits.h

    - `stringzilla` `#ifndef` https://github.com/ashvardanian/StringZilla/blob/main/includ...

  • Writing your own C++ standard library part 2
    5 projects | news.ycombinator.com | 1 Jun 2025
  • Matt Godbolt sold me on Rust (by showing me C++)
    14 projects | news.ycombinator.com | 6 May 2025
    abseil's "StatusOr" is roughly like Rust's Result type, and is what is used inside Google's C++ codebases (where exceptions are mostly forbidden)

    https://github.com/abseil/abseil-cpp/blob/master/absl/status...

What are some alternatives?

When comparing nonstd-lite and abseil-cpp you can also consider the following projects:

variant - C++17 `std::variant` for C++11/14/17

Folly - An open-source C++ library developed and used at Facebook.

optional - C++11/14/17 std::optional with functional-style extensions and reference support

Boost - Super-project for modularized Boost

GSL - Guidelines Support Library

BDE - Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you know that Batchfile is
the 61st most popular programming language
based on number of references?