11 repository-uri
Architectural patterns where code execution is restricted to a single main thread to eliminate concurrency locks.
Distinguishing note: Candidates focus on renderers or synchronized multi-threading; this is a general single-threaded runtime model.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Single-Threaded Execution Models. Refine with filters or upvote what's useful.
This project is a read-only archive of historical versions and development records for an early V8-based JavaScript runtime. It functions as an event-driven server-side environment that executes JavaScript code outside of a web browser. The archive preserves the identity of the runtime as an evented I/O framework, designed for handling asynchronous network and file system operations through a non-blocking event loop. It provides access to read-only records of old issues and pull requests to track the evolution of these legacy versions. The project covers the domain of server-side execution a
Executes JavaScript on a single main thread to avoid complex locking and shared state concurrency.
Perfect Green Screen Keys
Runs the entire keying pipeline on a single thread per clip for simplicity and deterministic output.
This project provides a version of the Redis 3.0 codebase featuring detailed technical commentary and annotations. It serves as a technical resource for studying the internal design and implementation of an in-memory key-value store and the architecture of a networked NoSQL database. The documentation focuses on the implementation of the Redis Sentinel system, covering the mechanisms used for monitoring instance health, managing automatic failover, and notifying clients of primary node changes. The project covers broader architectural areas including in-memory data storage, high availability
Employs a single-threaded execution model to process requests sequentially and eliminate locking overhead.
Actix is a Rust actor framework and concurrent programming toolkit designed for building applications that manage state through an asynchronous messaging system. It provides a model where independent actors serve as autonomous units of state and logic, communicating via strongly typed messages sent to unique addresses. The framework distinguishes itself by isolating state within these actors, allowing internal data to be mutated safely during message handling without the use of locks or mutexes. It employs an asynchronous mailbox system to buffer incoming requests and uses supervision strateg
Ensures thread-safe state mutation by processing messages sequentially within a single-threaded actor execution model.
This is a vanilla JavaScript DOM manipulation library that provides a collection of native methods for selecting, creating, and modifying HTML DOM elements without any framework dependencies. It operates directly on the live DOM tree using imperative JavaScript calls, wrapping standard browser DOM APIs into reusable utility functions. The library covers the full spectrum of DOM operations including element selection, creation, removal, content and attribute management, event handling, style and class manipulation, and DOM traversal. It includes approaches for cross-browser DOM compatibility,
Runs all DOM manipulations synchronously on the main browser thread without async scheduling or batching.
Lite XL is a lightweight, cross-platform text editor built around a minimal C core that embeds a Lua interpreter, allowing the entire editor interface and functionality to be scripted and customized through Lua. It draws text and UI elements directly to a pixel buffer using a single-threaded event loop, bypassing heavyweight widget toolkits to keep the editor fast and responsive even on low-resource hardware. The editor distinguishes itself through its Lua-based plugin architecture and file-based configuration system, where settings, keybindings, and plugin metadata are stored as plain Lua fi
Processes input, rendering, and plugin execution sequentially on one thread, avoiding concurrency complexity and keeping resource usage low.
Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components, without requiring Electron or Chromium. It maps Vue components directly to native widgets from the libui library, creating lightweight applications that run on a single-threaded event loop and compile templates at build time for optimized runtime performance. The framework provides a complete Vue.js component-to-native bridge, enabling two-way data binding via v-model, component-based window composition, and platform-specific package generation for distributing executables. It
Runs the application's main loop on a single thread, processing user input and UI updates synchronously.
Doctrine Event Manager is a PHP library that implements a publish-subscribe pattern for decoupled application communication. It provides a simple event bus that dispatches named events to registered listeners, enabling components to communicate without direct method calls and promoting loose coupling and extensibility in PHP projects. The library manages listener callbacks in a central registry keyed by exact event name strings for fast lookup, and invokes listeners in priority sequence for controlled reaction order during event dispatch. It maintains no internal state between dispatches, rel
Invokes all listeners sequentially on the same thread, ensuring predictable and deterministic execution.
Reactor Core este un toolkit de programare reactivă și o fundație non-blocking pentru compunerea pipeline-urilor de date asincrone pe JVM. Servește drept framework de procesare a fluxurilor asincrone și sistem de gestionare a backpressure-ului, permițând dezvoltatorilor să transforme, filtreze și combine secvențe de evenimente în timp ce reglează fluxul de date între producători și consumatori pentru a preveni epuizarea resurselor. Biblioteca se diferențiază printr-un sistem sofisticat de programare a concurenței și control al fluxului bazat pe cerere. Decuplează procesarea semnalelor de firele de execuție specifice folosind un registru de scheduler și oferă mecanisme pentru propagarea metadatelor imutabile conștiente de context peste limitele asincrone. De asemenea, dispune de instrumente specializate pentru capturarea urmelor la momentul asamblării și programarea timpului virtual pentru a facilita testarea operatorilor bazați pe timp. Proiectul acoperă o gamă largă de capabilități, inclusiv procesarea funcțională a datelor pentru agregarea și windowing-ul secvențelor, o varietate de strategii de recuperare a erorilor precum reîncercările cu backoff exponențial și utilitare pentru a conecta API-urile legacy de tip callback sau sincrone în fluxuri reactive. Oferă, de asemenea, instrumente pentru monitorizarea pipeline-ului și o suită de instrumente de testare pentru verificarea secvențelor de semnale.
Converts asynchronous events from a single producing thread into a reactive stream while managing backpressure.
Macroquad este un motor de jocuri Rust și o bibliotecă de grafică 2D concepută pentru dezvoltarea de jocuri cross-platform și aplicații grafice. Funcționează ca un motor de randare care permite implementarea unui singur cod sursă pe ținte desktop, mobile și web. Motorul utilizează un model de randare în mod imediat, care permite crearea de interfețe utilizator și lumi de joc care se randează într-o singură trecere în cadrul buclei principale a aplicației. Această abordare este combinată cu randarea 2D accelerată hardware și batching-ul automat al apelurilor de desenare pentru a optimiza afișarea geometriei pe diferite dispozitive hardware. Framework-ul oferă un pipeline de build unificat pentru a compila aplicațiile în binare native sau WebAssembly pentru implementare bazată pe web. Include un strat de abstractizare hardware pentru a mapa apelurile generice de input și grafică către API-urile de sistem specifice platformei.
Employs a single-threaded execution loop to simplify game logic and rendering synchronization.
EventMachine este un framework de rețea bazat pe modelul reactor pentru Ruby, care oferă o bibliotecă I/O asincronă pentru operațiuni non-blocante de rețea și fișiere. Acesta funcționează ca un framework de server de rețea utilizat pentru a construi servere și clienți TCP și UDP scalabili, capabili să proceseze multiple cereri simultane. Framework-ul implementează un model de concurență care distribuie evenimentele de rețea către handler-e înregistrate folosind o buclă de evenimente single-threaded. Această abordare permite gestionarea conexiunilor de rețea cu grad ridicat de concurență fără overhead-ul programării multi-threaded. Biblioteca acoperă dezvoltarea de servere bazate pe evenimente, clienți de rețea asincroni și implementări de proxy-uri de rețea. De asemenea, oferă capabilități pentru monitorizarea fișierelor și a rețelelor, declanșând acțiuni atunci când apar evenimente specifice.
Handles thousands of simultaneous connections on one thread to eliminate locking and context switching overhead.