# epoberezkin/fast-deep-equal

The fastest deep equality check with Date, RegExp and ES6 Map, Set and typed arrays support

Repository: https://github.com/epoberezkin/fast-deep-equal
Canonical: https://ross.abutalabs.com/products/fast-deep-equal
Language: JavaScript
License: MIT
License Family: permissive
Topics: equal, deep-equals
Last push: 2023-10-05T21:22:34+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 3366, "days_push": 1063, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2048, forks 114 (observed 2026-08-28T04:06:09.012789+00:00)

## What it is
A tiny JavaScript library providing the fastest deep equality check for objects, arrays, Dates, RegExps, and optionally ES6 Maps, Sets, and typed arrays. It works in Node.js and browsers and includes React-specific variants.

## Use cases
- compare two objects deeply for equality
- check if nested JSON structures are equal
- compare React props or state efficiently
- compare arrays containing Dates and RegExps by value
- compare ES6 Maps, Sets, and typed arrays
- optimize re-render checks in React components

## When to choose
- you need the fastest deep equality check in JavaScript
- you need to compare objects with Date, RegExp, Map, Set, or typed array values
- you need a small dependency-free utility that works in old browsers and Node.js
- you want a React-safe equality check avoiding circular _owner references

## When to avoid
- you only need shallow equality
- you need equality checks with custom comparators or options
- you need deep merging or diffing rather than a boolean equality check
- your runtime supports built-in util.isDeepStrictEqual and performance is not critical

## Facets
- artifact type: library
- maturity: stable
- function: serialization
- domain: developer-tools, performance
- platform: browser, cross-platform
- tags: deep-equality, comparison, es6, javascript, utility, algorithms, nodejs

## Member repositories
- epoberezkin/fast-deep-equal (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:09.012789+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:57:56.658009+00:00, confidence not recorded.
  - readme: https://github.com/epoberezkin/fast-deep-equal (fetched 2026-08-28T04:06:09.012789+00:00, sha 526760635e7b)
  - registry_npm: https://registry.npmjs.org/fast-deep-equal (fetched 2026-08-29T10:38:02.461448+00:00, sha 110f3e7812b2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
