TimelyDataflow/differential-dataflow

An implementation of differential dataflow using timely dataflow on Rust.

View on GitHub ↗Jump to charts ↓Open shareable report →

TimelyDataflow/differential-dataflow has 3k+ stars and 200+ forks on GitHub, is written in Rust, and was last pushed on Oct 16, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 23rd, 2026
Created on May 5th, 2015
Open Issues & Pull Requests: 145 (+0)
GitHub issues: Enabled
Number of forks: 214
Total Stargazers: 3,022 (+0)
Total Subscribers: 42 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.7 hours
Mean response time: 14.3 days
90th percentile: 17.6 days
Tracked items: 32

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 454 days
Stale 30+ days: 11
Stale 90+ days: 11

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • build-failure (4)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Differential Dataflow is a data-parallel programming framework that efficiently processes large volumes of data and responds quickly to arbitrary changes in input collections, implemented in Rust on top of timely dataflow.

The tool addresses the challenge of maintaining computation results as input data changes. Rather than recomputing from scratch when inputs are modified, differential dataflow tracks only the changes that propagate through the system, performing work only where those changes occur. Programs are written as functional transformations using familiar operators like map, filter, join, and reduce, along with more specialized operators such as iterate for repeated application of computation fragments. These programs compile down to timely dataflow computations that can respond dynamically to modifications in input collections.

Differential dataflow suits projects that require incremental computation over changing datasets, particularly those involving graph analysis, iterative algorithms, or interactive queries where latency matters. The framework is appropriate when you need to add to or remove from input collections and receive immediate feedback on how results change, rather than waiting for batch recomputation. It works well for problems like computing graph statistics, reachability queries, or any scenario where you want to understand how output collections evolve as inputs are modified.

The project maintains active development with regular improvements to its documentation and examples. The codebase shows ongoing refinement of the API and user-facing materials to support adoption. The maintainers continue to expand the mdbook and API documentation to help developers understand both the theoretical foundations and practical usage patterns. Examples in the repository are kept current and serve as working references for common tasks like graph analysis.