cppan VS abseil-cpp

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

cppan

Project evolved into Software Network: https://github.com/SoftwareNetwork/sw (by cppan)

abseil-cpp

Abseil Common Libraries (C++) (by abseil)
JetBrains - Tell us how you use coding tools. You may win a prize!
Are you a developer or a data analyst? Share your thoughts about your coding tools in our short survey and get a chance to win prizes!
surveys.jetbrains.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
cppan abseil-cpp
1 65
106 16,274
0.0% 0.6%
5.5 9.7
over 1 year ago about 3 hours ago
C++ C++
Apache License 2.0 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.

cppan

Posts with mentions or reviews of cppan. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-12.
  • Which is your most loved feature of C++?
    3 projects | /r/cpp | 12 Oct 2021
    When I discovered vcpkg I waq very disappointed and started to look for alternatives. I found cppan (https://github.com/cppan/cppan) which was exactly what I was looking for (A bit like npm but for C++). It became sw and I don't really like that name but it's still the best thing I've found for handling dependencies on Windows.

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 2025-07-18.
  • 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...

  • Writing your own C++ standard library from scratch
    8 projects | news.ycombinator.com | 25 Mar 2025
  • Don't "optimize" conditional moves in shaders with mix()+step()
    1 project | news.ycombinator.com | 9 Feb 2025
    Maybe you’d like ABSL_PREDICT macros?

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

  • C++'s `Noexcept` Can (Sometimes) Help (Or Hurt) Performance
    6 projects | news.ycombinator.com | 5 Aug 2024
    Their justification is here https://github.com/abseil/abseil-cpp/issues/720

    However, I personally disagree with them since I think it's really important to have _some_ basic reproducibility for things like reproducing the results of a randomized test. In that case, I'm going to avoid changing as much as possible anyways.

  • Open Source C++ Stack
    10 projects | dev.to | 16 Jul 2024
    abseil.io
  • B-Trees Require Fewer Comparisons Than Balanced Binary Search Trees
    3 projects | news.ycombinator.com | 24 Jun 2024
    From the looks of it Rust [1] uses a constant branching factor based on number of items whereas ABSEIL generally uses a target of 256 bytes for branching and fits however many elements fit within that. Rust’s approach seems to be more primitive as ABSEIL is optimizing for cache line usage (not sure why it’s several multiples of a cache line - maybe to help the prefetcher or to minimize cache line bouncing?)

    [1] https://github.com/rust-lang/rust/blob/master/library/alloc/...

    [2] https://github.com/abseil/abseil-cpp/blob/74f8c1eae915f90724...

    [3] https://github.com/abseil/abseil-cpp/blob/74f8c1eae915f90724...

  • AI in Software Engineering at Google
    1 project | news.ycombinator.com | 6 Jun 2024
    From the screencast:

    > implement also for Days

    This fails to recognize that this is a bad feature that the Abseil library would explicitly reject (hence the existence of absl::CivilDay) [0], and instead perpetuates the oversimplification that 1 day is exactly 24 hours (which breaks at least twice every year due to DST).

    Which is to say: it'll tell you how to do the thing you ask it to do, but will not tell you that it's a bad idea.

    And, of course, that assumes that it even makes the change correctly in the first place (which is nowhere near guaranteed, in my experience). I have seen (and bug-reported!) cases where it incorrectly inverts conditionals, introduces inefficient or outright unsafe code, causes unintended side effects, perpetuates legacy (discouraged) patterns, and more.

    It turns out that ML-generated code is only as good as its training data, and a lot of google3 does not adhere to current best practices (in part due to new library developments and adoption of new language versions, but there are also many corners of the codebase with, um, looser standards for code quality).

    [0] https://github.com/abseil/abseil-cpp/blob/bde089f/absl/time/...

What are some alternatives?

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

cmake-cookbook - CMake Cookbook recipes.

Boost - Super-project for modularized Boost

cget - C++ package retrieval

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

sw - Software Manager. Build System, Build System Generator and Package Manager. C/C++ and other languages. Tools and libraries for Software Management.

EASTL - Obsolete repo, please go to: https://github.com/electronicarts/EASTL

JetBrains - Tell us how you use coding tools. You may win a prize!
Are you a developer or a data analyst? Share your thoughts about your coding tools in our short survey and get a chance to win prizes!
surveys.jetbrains.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured

Did you know that C++ is
the 7th most popular programming language
based on number of references?