<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e" -->

---
title: Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel...
description: A CppCon 2025 talk by Daniel Anderson (CMU) on making parallel range algorithms fast in C++. The core problem identified is memory bandwidth saturation, not...
canonical: https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025 | daily.dev
og:description: A CppCon 2025 talk by Daniel Anderson (CMU) on making parallel range algorithms fast in C++. The core problem identified is memory bandwidth saturation, not...
og:url: https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e
og:image: https://api.daily.dev/og/posts/FvPipRR8e.png
og:image:alt: Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025

**[C\+\+](https://daily.dev/sources/isocpp)** · 66 min read · 0 upvotes · 0 comments

## Summary

A CppCon 2025 talk by Daniel Anderson (CMU) on making parallel range algorithms fast in C++. The core problem identified is memory bandwidth saturation, not compute or cache, which limits scalability on many-core systems. The solution proposed is lazy evaluation combined with a new 'block iterable range' abstraction — a middle ground between forward iterators (too weak for parallelism) and random access iterators (too strict for laziness). Blocks allow random access at the block level while remaining lazy within each block, enabling automatic loop fusion and dramatically reduced memory writes. The talk covers implementations of transform, scan, flatten, and filter using this pattern, shows how filter can be composed from flatten and transform, and demonstrates ~2x scalability improvement on parallel BFS benchmarks by halving unnecessary memory writes.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=gLOH5md4gok>

## Similar posts on daily.dev

- [Wrapping Algorithms into Iterators](https://daily.dev/posts/wrapping-algorithms-into-iterators-2u2lysncr) · Jacek Galowicz · 0 upvotes · 0 comments
- [Structured iteration](https://daily.dev/posts/structured-iteration-hri4jxsmi) · C\+\+ · 3 upvotes · 1 comments

---

Tags: [#c++](https://daily.dev/tags/c++)

[View this post on daily.dev](https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025","url":"https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e"},"datePublished":"2026-06-18T22:22:12.571Z","dateModified":"2026-06-18T22:22:32.393Z","description":"A CppCon 2025 talk by Daniel Anderson (CMU) on making parallel range algorithms fast in C++. The core problem identified is memory bandwidth saturation, not...","image":"https://i.ytimg.com/vi/gLOH5md4gok/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/gLOH5md4gok/sddefault.jpg","isAccessibleForFree":true,"articleSection":"C++","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"C++","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/c96d1356acb34a8d982064453dcfeb20","url":"https://daily.dev/sources/isocpp"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/lazy-and-fast-ranges-meet-parallelism-in-c---daniel-anderson---cppcon-2025-fvpiprr8e","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"c++","timeRequired":"PT66M","video":{"@type":"VideoObject","name":"Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025","description":"A CppCon 2025 talk by Daniel Anderson (CMU) on making parallel range algorithms fast in C++. The core problem identified is memory bandwidth saturation, not...","thumbnailUrl":"https://i.ytimg.com/vi/gLOH5md4gok/sddefault.jpg","uploadDate":"2026-06-18T22:22:12.571Z","duration":"PT66M","url":"https://api.daily.dev/r/FvPipRR8e","embedUrl":"https://www.youtube.com/embed/gLOH5md4gok"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"C++","item":"https://daily.dev/sources/isocpp"},{"@type":"ListItem","position":3,"name":"Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025"}]}
```

