Feedback on practical use of C++17 std::recursive_directory_iterator
summary
Implements API patches on gcc and clang that add a lambda filter and a regex filter to std::recursive_directory_iterator, runs filesystem benchmarks over Gecko. Lambda version is consistently faster — about 55% on Unix and 10% on Windows — and is easy to implement. Regex is 25% faster on Unix but about 46% slower on Windows due to MSVC internals, introduces a filesystem↔regex dependency and cannot push the filter down to the Windows syscall.
AI-written summary · about
related talks
54mThrowing Tools at C++ Ranges
20mC++17 - The Best Features
59mHow to Implement the C++ Standard Library (Part 2): An Excursion into libc++
01h 13mFrom Iterators to Ranges — the Upcoming Evolution of the Standard Library
57mRange Algorithms, Views and Actions: A Comprehensive Guide
01h 15mHow to Rangify Your Code
39mWhy Iterators Got It All Wrong
59mModern C++ for Fun and Profit: This isn’t your old C++
