ra1028/DifferenceKit
💻 A fast and flexible O(n) difference algorithm framework for Swift collection. observed · 2026-08-28
Health v2 · maintenance only
63/100
- Activity 89
- Release rhythm 8
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 2952
- days_rel: n/a
- days_push: 71
- n_releases_24m: 0
Adoption not part of the score
3666 stars · 242 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
DifferenceKit is a Swift framework implementing a fast O(n) diffing algorithm based on Paul Heckel's technique for Swift collections. It computes all kinds of diffs (insertions, deletions, moves, replacements) needed for animated batch updates in list UIs like UITableView and UICollectionView, splitting diffs into stages to avoid crashes.
Use cases
- animate table view updates when data changes
- diff two arrays in Swift efficiently
- avoid crashes in performBatchUpdates with collection view
- compute changesets for sectioned collections with duplicates
- build reactive list UIs with minimal reloads
When to choose
- you need linear-time diffing for Swift collections
- you animate batch updates in UIKit, AppKit, or Texture list UIs
- you need a standalone diff engine for a component-driven UI framework
When to avoid
- you are not developing in Swift or on Apple platforms
- you need text/file diffing rather than collection element diffing
- you want a batteries-included reactive data source library rather than just the algorithm
Facets
library · maturity stable
ui-components developer-tools mobile-development developer-tools cross-platform cross-platform diffing paul-heckel-algorithm uitableview uicollectionview batch-updates swift-package-manager cocoapods algorithm algorithms ios macos swift
2 sources
- readme: https://github.com/ra1028/DifferenceKit · fetched 2026-08-28 · e3713114a079
- homepage: https://ra1028.github.io/DifferenceKit · fetched 2026-08-29 · b350413bf1ed
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| ra1028/DifferenceKit | main | 63 |
For agents
markdown · JSON · MCP: product_card(name="ra1028/DifferenceKit")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem