A fast and flexible O(n) difference algorithm framework for Swift collection. The algorithm is optimized based on the Paul Heckel’s algorithm. This is a diffing algorithm developed for Carbon, works stand alone. The algorithm optimized based on the Paul Heckel’s algorithm. See also his paper A technique for isolating differences between files released in 1978. It allows all kind of diffs to be calculated in linear time O(n). RxDataSources and IGListKit are also implemented based on his algorithm. The type of the element that to take diffs must be conform to the Differentiable protocol.

Features

  • Fastest O(n) diffing algorithm optimized for Swift collection
  • Calculate diffs for batch updates of list UI in UIKit, AppKit and Texture
  • Supports both linear and sectioned collection even if contains duplicates
  • Supports all kind of diffs for animated UI batch updates
  • Requires Swift 4.2+
  • Requires watchOS 2.0+

Project Samples

Project Activity

See All Activity >

License

Apache License V2.0

Follow DifferenceKit

DifferenceKit Web Site

Other Useful Business Software
Full-stack observability with actually useful AI | Grafana Cloud Icon
Full-stack observability with actually useful AI | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of DifferenceKit!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Swift

Related Categories

Swift Algorithms, Swift Frameworks

Registered

2022-02-24