bitsets are cool.
My favourite addition to curl this year, by far. We use them to track and iterate over thousands of transfers.
They are very cheap (memory and cpu) and great for cache locality. Also, they can be iterated over safely while being modified.
The latest addition is the „dirty“ set: transfers that need to run without external triggers like a socket event or timers.
A bitset for 1000 transfers has a 125 bytes array memory footprint.