Comparing C++ range libraries for filter+reverse case with non-trivial lambda

This page summarizes the projects mentioned and recommended in the original post on dev.to

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

    Comparison of C++ ranges performance for filter-take-enumerate-reverse case

    The repo with source code is here https://github.com/serpent7776/cpp-ranges-bench

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. Catch

    A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)

    The code uses catch2 to test for correctness and performance. Catch2 is a unit testing framework for C++, but it also provides basic micro-benchmarking features. Unfortunately, it doesn't provide any way to visualise the results, so I created a script and submitted PR adding plotting capabilities to Catch.

  4. range-v3

    Range library for C++14/17/20, basis for C++20's std::ranges

    rangesv3 - Uses ranges-v3 - range library for C++14/17/20. Pretty close to the implementation using std::ranges, but a bit more complex, because it distinguishes between actions and views. This method uses the reverse action with views and to_vector, which might allocate an extra vector.

  5. flux

    A C++20 library for sequence-orientated programming (by tcbrindle)

    fluxranges - Uses flux, a C++20 library for sequence-oriented programming. Quite noisy compared to other range implementations.

  6. bits

    bits and pieces (by serpent7776)

    I will then convert the stats file with a perf-stat-to-sc script I wrote. It will create a sc-im spreadsheet, which will make it easier to compare the results.

  7. sc-im

    sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal

    I will then convert the stats file with a perf-stat-to-sc script I wrote. It will create a sc-im spreadsheet, which will make it easier to compare the results.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Adding Unit Tests to repo-context-packager

    2 projects | dev.to | 6 Nov 2025
  • My OSD600 Journey

    1 project | dev.to | 5 Sep 2025
  • Doctest is a new C++ testing framework

    1 project | news.ycombinator.com | 9 Jul 2025
  • Functional Tests as a Tree of Continuations

    2 projects | news.ycombinator.com | 13 Mar 2025
  • Godump: Dump any GO variable with ease

    1 project | news.ycombinator.com | 4 Jul 2024

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