# discord/fastglobal

Fast no copy globals for Elixir & Erlang.

Repository: https://github.com/discord/fastglobal
Canonical: https://ross.abutalabs.com/products/fastglobal
Language: Elixir
License: MIT
License Family: permissive
Topics: elixir, erlang, performance
Last push: 2023-03-09T21:12:23+00:00

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

## Adoption (not part of the score)
Stars 1181, forks 85 (observed 2026-08-28T04:03:54.174857+00:00)

## What it is
FastGlobal is an Elixir/Erlang library that provides fast, copy-free access to large shared global data by leveraging the Erlang VM's constant pools via runtime module compilation. It is a modernized Elixir take on mochiglobal, optimized for large, infrequently changing data read by many processes.

## Use cases
- store large lookup tables accessible by thousands of BEAM processes without copying
- replace ETS reads that get slower as data grows
- share infrequently changing configuration across an Erlang cluster of processes
- avoid overloading a single process holding shared state
- get near-constant-time global reads in Elixir applications

## When to choose
- you have large, rarely changing data read frequently by many processes on the BEAM
- ETS read costs or process-based state are bottlenecks
- you want a drop-in global map API in Elixir

## When to avoid
- your data changes frequently, since puts and module purges are expensive
- your dataset is small enough that ETS is fast enough
- your system has many processes, making module purge compile times slow
- you frequently look up missing keys, which triggers costly try/catch

## Facets
- artifact type: library
- maturity: maintenance
- function: caching, concurrency, developer-tools
- domain: developer-tools, performance, backend
- platform: elixir, windows
- tags: elixir, erlang, constant-pool, shared-state, mochiglobal, hex-package, linux, macos

## Member repositories
- discord/fastglobal (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:54.174857+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-30T06:25:10.573381+00:00, confidence not recorded.
  - readme: https://github.com/discord/fastglobal (fetched 2026-08-28T04:03:54.174857+00:00, sha 168a93b622f6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
