Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more â
Abseil-cpp Alternatives
Similar projects and alternatives to abseil-cpp
-
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
-
-
-
-
-
-
Nutrient
Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrientâs PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
-
-
-
-
-
-
countwords
Discontinued Playing with counting word frequencies (and performance) in various languages.
-
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
abseil-cpp discussion
abseil-cpp reviews and mentions
-
Don't "optimize" conditional moves in shaders with mix()+step()
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
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
abseil.io
-
B-Trees Require Fewer Comparisons Than Balanced Binary Search Trees
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
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/...
- Sane C++ Libraries
- Open source collection of Google's C++ libraries
- Is Ada safer than Rust?
-
Appending to an std:string character-by-character: how does the capacity grow?
Yeah, it's nice! And Abseil does it, IFF you use LLVM libc++.
https://github.com/abseil/abseil-cpp/blob/master/absl/string...
The standard adopted it as resize_and_overwrite. Which I think is a little clunky.
-
Shaving 40% Off Googleâs B-Tree Implementation with Go Generics
This may be confusing to those familiar with Google's libraries. The baseline is the Go BTree, which I personally never heard of until just now, not the C++ absl::btree_set. The benchmarks aren't directly comparable, but the C++ version also comes with good microbenchmark coverage.
https://github.com/google/btree
https://github.com/abseil/abseil-cpp/blob/master/absl/contai...
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 14 Mar 2025
Stats
abseil/abseil-cpp is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of abseil-cpp is C++.