awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
wilsonpage avatar

wilsonpage/fastdom

0
View on GitHub↗
6,920 stars·235 forks·JavaScript·10 views

Fastdom

Fastdom is a task scheduler and rendering optimizer designed to prevent layout thrashing by batching document reads and writes. It functions as a coordination system that separates document measurements and mutations into distinct queues, ensuring that asynchronous operations are executed in a way that minimizes browser reflows.

The project provides a performance profiling capability that detects improper document API access. By enforcing strict execution phases, it identifies layout thrashing bottlenecks and flags unauthorized DOM access occurring outside of the coordinated batching cycles.

The system manages the rendering workflow by aligning execution cycles with the browser refresh rate. It includes capabilities for grouping read-only operations and write operations, as well as a mechanism for cancelling pending tasks using unique identifiers.

The scheduler can be extended via a plugin system to add custom task types to the global execution pipeline.

Features

  • Rendering Phase Coordination - Separates measurement and mutation tasks into distinct queues to optimize rendering performance and prevent layout thrashing.
  • Web Performance Optimization Tools - Provides a coordination system that optimizes web application performance by batching DOM read and write operations.
  • Dual-Queue Scheduling - Implements a dual-queue system to separate document reads and writes, preventing interleaved layout thrashing.
  • Execution Phases - Uses sequenced execution phases to ensure all DOM measurements are completed before any mutations occur.
  • High-Frame-Rate Rendering - Optimizes JavaScript rendering to ensure high frame rates by managing asynchronous document operations.
  • Task Queues - Maintains a centralized architectural task queue to process pending operations sequentially during animation frames.
  • Browser Reflow Management - Groups multiple document mutations into single updates to minimize the number of browser layout reflows.
  • DOM Read Batching - Groups read-only document operations into a single queue to prevent layout thrashing.
  • DOM Rendering Coordination - Manages the order of document measurements and mutations to ensure smooth animations and high frame rates.
  • DOM Task Batching - Coordinates the separation of document measurements and mutations into distinct queues for optimized execution.
  • DOM Write Batching - Groups write operations into a single queue to ensure they execute after all measurements to minimize reflows.
  • Layout Thrashing Prevention - Prevents browser reflows and layout thrashing by batching DOM reads and writes via a task scheduler.
  • Visual Update Coordination - Coordinates JavaScript callbacks with the browser's paint cycle using requestAnimationFrame to minimize reflows.
  • UI Performance Debugging - Identifies layout thrashing bottlenecks by analyzing rendering timing and improper DOM API access.
  • Job Execution Cancellations - Provides a mechanism to abort pending measurement or mutation jobs using unique identifiers.
  • DOM Rendering Profilers - Detects improper DOM API access and identifies layout thrashing through strict execution phase enforcement.
  • DOM Access Detection - Throws errors when sensitive DOM APIs are accessed outside the batching system to identify performance bottlenecks.
  • DOM API Interception - Provides an interception layer to detect unauthorized DOM access occurring outside of coordinated batching cycles.
  • Layout Thrashing Detection - Triggers errors when DOM APIs are called outside coordinated measurement and mutation cycles to detect thrashing.
  • Rendering Phase Enforcement - Enforces a strict mode that throws errors when DOM APIs are accessed outside of designated measure or mutate phases.

Star history

Star history chart for wilsonpage/fastdomStar history chart for wilsonpage/fastdom

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does wilsonpage/fastdom do?

Fastdom is a task scheduler and rendering optimizer designed to prevent layout thrashing by batching document reads and writes. It functions as a coordination system that separates document measurements and mutations into distinct queues, ensuring that asynchronous operations are executed in a way that minimizes browser reflows.

What are the main features of wilsonpage/fastdom?

The main features of wilsonpage/fastdom are: Rendering Phase Coordination, Web Performance Optimization Tools, Dual-Queue Scheduling, Execution Phases, High-Frame-Rate Rendering, Task Queues, Browser Reflow Management, DOM Read Batching.

What are some open-source alternatives to wilsonpage/fastdom?

Open-source alternatives to wilsonpage/fastdom include: googlechromelabs/quicklink — Quicklink is a JavaScript library and web performance optimization tool that fetches linked resources as they enter… imagemin/imagemin — imagemin is a Node.js image optimizer and minification tool designed to reduce the storage size of image assets. It… celery/celery — Celery is an asynchronous job processor and distributed task queue designed to offload time-consuming operations to… apache/incubator-pagespeed-ngx — This project is an NGINX performance module and automatic page accelerator that optimizes web pages and associated… guess-js/guess — Guess is a predictive page loading library that uses machine learning to prefetch JavaScript bundles and assets. It… minimac/magic — Magic is a CSS animation library and visual effects framework providing a collection of predefined motion styles for…

Open-source alternatives to Fastdom

Similar open-source projects, ranked by how many features they share with Fastdom.
  • apache/incubator-pagespeed-ngxA

    apache/incubator-pagespeed-ngx

    4,343View on GitHub↗

    This project is an NGINX performance module and automatic page accelerator that optimizes web pages and associated assets to reduce load times. It functions as a web asset optimizer that minifies CSS and JavaScript and compresses images to reduce total data transfer. The system operates as an HTTP cache optimizer, modifying cache headers and extending asset lifetimes to decrease the frequency of repeat downloads. It automatically applies web performance best practices to accelerate page loading and improve delivery speed. The project covers broad capability areas including frontend asset com

    C++
    View on GitHub↗4,343
  • googlechromelabs/quicklinkGoogleChromeLabs avatar

    GoogleChromeLabs/quicklink

    11,248View on GitHub↗

    Quicklink is a JavaScript library and web performance optimization tool that fetches linked resources as they enter the browser viewport. It serves as a viewport-based resource preloader and a wrapper for the browser speculation rules API to reduce perceived page load times. The library implements background page rendering and predictive resource prefetching to enable faster navigation transitions. It manages a cache of prefetched URLs and uses browser speculation rules to render full pages in the background. The tool includes capabilities for resource filtering via regular expressions, netw

    JavaScript
    View on GitHub↗11,248
  • celery/celerycelery avatar

    celery/celery

    28,596View on GitHub↗

    Celery is an asynchronous job processor and distributed task queue designed to offload time-consuming operations to background worker nodes. By utilizing a message-passing architecture, it decouples task producers from consumers, allowing applications to maintain responsiveness while scaling workloads across multiple isolated environments. The system functions as a distributed workload orchestrator that manages the lifecycle of deferred operations through persistent queues. It distinguishes itself by providing a pluggable transport abstraction, which allows the core task logic to remain indep

    Pythonamqppythonpython-library
    View on GitHub↗28,596
  • guess-js/guessguess-js avatar

    guess-js/guess

    7,117View on GitHub↗

    Guess is a predictive page loading library that uses machine learning to prefetch JavaScript bundles and assets. It functions as a resource prefetcher that predicts the next page a user will visit by utilizing a web application route parser and a user behavior analytics integrator. The project distinguishes itself by importing navigation patterns from analytics APIs to inform its predictive models. It uses probabilistic navigation modeling and historical transition data to calculate the likelihood of future page visits, allowing for the proactive download of lazy-loaded bundles. The system i

    TypeScript
    View on GitHub↗7,117
  • See all 30 alternatives to Fastdom→