31 repository-uri
Architectural patterns where background threads process independent tasks and return results to a main thread.
Distinct from Worker Thread Reuse: Distinct from limiting thread counts or UI messaging; focuses on the task distribution model.
Explore 31 awesome GitHub repositories matching software engineering & architecture · Worker Thread Patterns. Refine with filters or upvote what's useful.
Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend. The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys. The
Distributes search tasks across background worker threads to maintain main-thread responsiveness.
AR.js is a web-based augmented reality framework used to create immersive experiences directly in a browser using WebGL and WebRTC. It provides a cross-platform runtime that executes on mobile devices and head-mounted displays without requiring a dedicated application installation. The framework includes a marker-based engine for detecting physical patterns or barcodes to anchor digital overlays, a location-based tool for positioning entities via GPS coordinates, and a face tracking library for anchoring content to human facial features. It supports multi-marker simultaneous tracking, custom
Offloads heavy image processing and pattern matching to background threads to maintain high performance.
This project is a collection of Python scripts and tools designed for web scraping, browser automation, and large-scale data extraction. It provides a set of implementations for retrieving information from websites and private APIs, including tools for multimedia downloading and social media data archiving. The toolset includes specialized mechanisms for bypassing anti-scraping measures through IP proxy pool rotation and multi-threaded crawlers. It also features capabilities for simulating browser sessions to handle authentication, intercepting session cookies, and decrypting network payloads
Uses a thread-safe queue to distribute target URLs across multiple worker threads for accelerated collection.
sql.js is a serverless, in-memory SQL database engine that ports SQLite to WebAssembly for use within a web browser. It provides a JavaScript interface to initialize relational databases, execute SQL queries, and manage structured data without requiring a backend server. The project enables the import and export of database states using typed arrays, allowing in-memory data to be persisted as files. It supports high-precision integer retrieval via BigInt and utilizes prepared statements to increase execution speed and security. The engine includes capabilities for client-side data management
Employs worker thread patterns to offload heavy database computations and keep the user interface responsive.
jspaint is a web-based reimplementation of Microsoft Paint, built entirely in JavaScript to run in a browser. It recreates the classic desktop application by reverse-engineering the original Win32 API calls and event handling, rendering the entire interface onto an HTML5 canvas for pixel-perfect retro graphics. The project preserves the original file format compatibility with BMP, PNG, GIF, and JPEG, ensuring exact pixel data matches the legacy application. The application maintains a complete undo history stack using compressed image snapshots, and offloads computationally intensive image pr
Offloads computationally intensive image processing operations to background web workers for UI responsiveness.
Node.js is an open-source, cross-platform JavaScript runtime environment built on the V8 engine, designed for executing JavaScript code outside a web browser. It operates as a server-side JavaScript platform with an event-driven, non-blocking I/O architecture that enables building scalable network applications and web servers. The runtime integrates the CommonJS module system for synchronous module loading and the npm ecosystem for sharing and reusing packages. The platform provides comprehensive capabilities for web server development, including creating HTTP and HTTPS servers, managing HTTP
Ships a built-in worker_threads module for running JavaScript in parallel threads with shared memory.
oneAPI Threading Building Blocks (oneTBB)
Provides a thread-local task bypass that hands tasks directly to worker threads, skipping the global scheduling queue.
whs.js este un motor de jocuri 3D WebGL și un framework de aplicații extensibil utilizat pentru a crea experiențe 3D interactive și jocuri bazate pe browser. Oferă un strat de abstractizare simplificat peste randarea WebGL de nivel scăzut pentru a gestiona camerele, iluminarea și mediul 3D general. Framework-ul utilizează un graf de scenă 3D modular pentru a organiza obiectele într-un sistem ierarhic de componente. Integrează simularea fizică multithreaded prin utilizarea web worker-ilor pentru a rula calcule în paralel cu bucla principală de randare. Sistemul include o arhitectură de plugin-uri modulară care permite extinderea logicii de bază a aplicației printr-un sistem pluggable. De asemenea, dispune de inițializarea automată a scenei pentru a gestiona configurarea renderer-ului și a mediului.
Runs heavy physics calculations in separate background threads using web workers to maintain high frame rates.
electron-vite este un sistem de build și orchestrator de bundle-uri multi-proces care utilizează Vite pentru a compila și bundle-ui procesele main, preload și renderer pentru aplicațiile Electron. Funcționează ca un scafolding de aplicații desktop, oferind template-uri pentru a integra diverse framework-uri de frontend într-o structură de proiect standardizată. Proiectul se distinge prin protecția integrată a codului sursă, utilizând un obfuscator de bytecode V8 pentru a compila JavaScript în bytecode și a obfusca șirurile de caractere pentru a preveni reverse engineering-ul. De asemenea, gestionează arhitecturi desktop complexe prin izolarea bundle-urilor și a chunk-urilor partajate în mai multe ferestre și contexte de execuție. Setul de instrumente acoperă o gamă largă de capabilități, inclusiv pipeline-uri de packaging automatizate pentru instalatoare cross-platform, orchestrarea serverului de dezvoltare cu hot module replacement și gestionarea modulelor native și WebAssembly. Suportă în continuare scoping-ul mediului și configurarea externalizării modulelor binare pentru a optimiza build-urile de producție.
Resolves worker imports into bundle paths during the build process for multi-threaded background execution.
Pagefind este un motor de căutare pentru site-uri statice care indexează fișiere HTML pentru a oferi o experiență de căutare bazată pe browser, fără a fi nevoie de un server backend sau API. Constă dintr-un indexator de căutare multilingv și un set de componente de interfață preconstruite și personalizabile pentru randarea input-urilor de căutare și a listelor de rezultate. Sistemul este conceput pentru conținut global, utilizând un indexator de căutare multilingv care detectează limbile paginilor și creează bundle-uri de index independente pentru a oferi stemming și rezultate specifice limbii. Optimizează performanța prin utilizarea unui index comprimat și delegarea execuției interogărilor către un web worker pentru a menține interfața utilizatorului responsivă. Instrumentul acoperă o gamă largă de capabilități de indexare și recuperare, inclusiv capacitatea de a procesa tipuri de conținut diverse precum PDF-uri și JSON, precum și filtrarea prin căutare fațetată bazată pe metadate personalizate. Oferă mecanisme pentru ajustarea relevanței rezultatelor, împărțirea secțiunilor paginii pentru o precizie îmbunătățită și un kit UI cuprinzător care include modale, panouri de filtrare și evidențierea termenilor. Proiectul include instrumente de dezvoltare pentru servirea site-ului local și exporturi de tip playground pentru diagnosticare, pentru a depana comportamentul indexului.
Offloads search processing and index parsing to a web worker to prevent blocking the main user interface thread.
Booster este un optimizator de build și manipulator de bytecode pentru aplicații Android, conceput pentru a reduce dimensiunea binară, a remedia crash-urile la nivel de sistem și a îmbunătăți performanța aplicației. Funcționează ca un plugin extensibil pentru procesul de build care modifică fișierele de clasă compilate și artefactele de build pentru a injecta remedieri de stabilitate și optimizări fără a altera codul sursă original. Proiectul se diferențiază prin manipularea bytecode-ului la nivel scăzut pentru a patch-ui bug-urile la nivel de OS și a gestiona pool-urile de thread-uri în timpul fazei de compilare. De asemenea, oferă un toolkit de profilare a performanței pentru a identifica operațiunile care blochează thread-ul principal și pentru a analiza problemele de stabilitate legate de resurse. Instrumentul acoperă o gamă largă de capabilități de optimizare a pachetelor, inclusiv compresia imaginilor pentru PNG-uri și WebP, eliminarea resurselor redundante și optimizarea indexului de resurse. Funcționalitatea suplimentară include reglarea performanței pentru gestionarea thread-urilor, scrieri asincrone de preferințe și analiză statică pentru scanarea artefactelor de build în vederea detectării riscurilor de securitate și a blocajelor. Sistemul utilizează o interfață de furnizor de servicii pentru integrarea plugin-urilor personalizate și poate fi executat ca o aplicație standalone decuplată de mediul principal de build.
Implements architectural patterns to offload blocking preference commits and operations to background worker threads.
gif.js este un encoder GIF JavaScript și un cuantizator de culori client-side care generează fișiere GIF animate direct în browser-ul web. Acesta funcționează ca un exportator HTML5 canvas și procesor de imagini, permițând crearea de imagini animate din surse web fără a fi nevoie de un server backend. Biblioteca utilizează web workers pentru a descărca sarcinile grele de codificare a imaginilor către thread-uri de fundal, ceea ce previne înghețarea interfeței browser-ului în timpul procesului de generare. Această arhitectură permite instrumentului să acționeze ca un procesor de imagini web worker pentru generarea dinamică de imagini. Sistemul acoperă capabilități pentru conversia cadrelor video în GIF-uri și exportul animațiilor canvas. Include funcționalități pentru gestionarea temporizării cadrelor, configurarea proprietăților globale de ieșire, cum ar fi dimensiunile și numărul de bucle, și efectuarea cuantizării culorilor bazată pe paletă pentru a asigura compatibilitatea GIF.
Employs a worker-thread pattern to distribute frame encoding tasks across multiple background threads.
Keras-js este un motor de inferență JavaScript și un framework de machine learning bazat pe browser, conceput pentru a executa rețele neuronale Keras pre-antrenate. Permite inferența modelelor client-side în browsere web sau medii Node.js, fără a necesita un server backend. Biblioteca utilizează un accelerator tensorial WebGL pentru a mapa operațiile matematice către procesorul grafic în vederea accelerării hardware. Pentru a menține responsivitatea interfeței utilizator în timpul calculelor grele, încorporează un runtime de inferență web worker care execută procesarea rețelei neuronale în thread-uri de fundal. Sistemul suportă încărcarea modelelor prin fișiere de configurare JSON și tensori de ponderi. Gestionează array-uri numerice mari folosind stocarea de texturi WebGL pentru a facilita accesul la memorie de mare viteză în timpul execuției tensoriale.
Executes neural network processing in background web worker threads to maintain user interface responsiveness.
wmr este un instrument de dezvoltare a aplicațiilor web și un sistem de build care funcționează ca un bundler de module ES, generator de site-uri statice și server de dezvoltare locală. Acesta oferă un mediu complet pentru crearea de aplicații web moderne, combinând un compilator de producție cu un server care suportă hot reloading. Proiectul se distinge prin abordarea sa integrată față de scripturile de fundal și rutare, servind atât ca bundler de service worker, cât și ca instrument pentru rutarea bazată pe sistemul de fișiere. Acesta permite generarea de HTML static prin prerendering și oferă integrare nativă pentru spawn-area de web workers pentru a gestiona calculele intense. Sistemul acoperă o gamă largă de capabilități de automatizare a build-ului, inclusiv compilarea la cerere, gestionarea cererilor bazată pe middleware și un pipeline bazat pe plugin-uri pentru extinderea logicii de build. De asemenea, include utilitare pentru gestionarea variabilelor de mediu, maparea căilor de import și analizarea dimensiunii bundle-ului pentru a optimiza activele de producție.
Compiles and bundles service worker scripts to enable offline asset management.
Text Embeddings Inference este un server de inferență de înaltă performanță conceput pentru a găzdui modele de embedding de text și clasificare a secvențelor ca endpoint-uri API scalabile. Oferă un API de vector embedding pentru a converti textul în reprezentări dense și un server de reranking cross-encoder pentru a puncta relevanța secvențelor de documente față de o interogare. Proiectul dispune de un motor de inferență accelerat GPU care utilizează batching dinamic și nuclee specializate pentru a maximiza throughput-ul. Oferă o interfață binară de înaltă performanță prin gRPC ca alternativă la HTTP standard pentru a reduce latența rețelei și overhead-ul de serializare. Sistemul acoperă o gamă largă de capabilități, inclusiv clasarea similarității documentelor, reranking-ul textului multilingv și clasificarea secvențelor pentru predicția categoriilor sau a sentimentului. Suportă diverse medii de deployment, variind de la containere serverless cu auto-scaling până la instalații izolate (air-gapped). Accelerarea hardware este disponibilă pentru GPU-uri NVIDIA, GPU-uri AMD și Apple Metal.
Offloads text processing and sequence truncation to a separate pool of threads to prevent blocking the main inference loop.
This project is a collection of technical demonstrations and prototypes that showcase various HTML5 APIs, multimedia capabilities, and web standard implementations. It serves as a frontend technology sandbox and a gallery of implementation proofs-of-concept for modern browser features. The collection includes specialized showcases for HTML5 multimedia, featuring the manipulation of audio, video, and real-time media streams. It also provides a series of experiments focused on prototyping web capabilities to verify technical feasibility and browser support in live environments. The project cov
Demonstrates background threading using Web Workers to execute heavy computations without freezing the UI.
Greenlet este un executor asincron multi-threaded și un runner de sarcini pentru web workers. Servește ca wrapper de execuție care descarcă sarcinile computaționale grele către worker-i de fundal pentru a menține responsivitatea interfeței utilizator și a preveni blocarea thread-ului principal de execuție. Proiectul include un handler de obiecte transferabile conceput pentru a muta buffere mari de date între thread-uri. Acest mecanism evită overhead-ul copierii memoriei pentru a optimiza transferul de date. Biblioteca acoperă gestionarea web worker-ilor, facilitând izolarea sarcinilor asincrone și descărcarea thread-ului principal.
Executes JavaScript in separate OS threads to ensure the main UI thread remains free for user interactions.
Acest proiect este o colecție de modele de implementare și exemple de cod sursă pentru construirea de aplicații desktop folosind diverse biblioteci de interfață Python. Oferă implementări de referință și modele arhitecturale pentru mai multe framework-uri, inclusiv PyQt, PySide, Tkinter, Kivy și Streamlit. Repository-ul se distinge prin oferirea de exemple specializate pentru diverse tipuri de interfețe, variind de la software desktop profesional și ferestre native până la dashboard-uri de date web reactive și instrumente de data science. Include material de referință specific pentru modele UI cross-platform, cum ar fi layout-urile model-view și execuția asincronă a sarcinilor în fundal. Proiectul acoperă o gamă largă de capabilități, inclusiv gestionarea layout-ului, dezvoltarea de widget-uri personalizate cu animații și randarea accelerată GPU pentru vizualizări în timp real. De asemenea, demonstrează tehnici de gestionare a datelor, cum ar fi filtrarea bazată pe proxy și stilizarea datelor tabelare, precum și fluxuri de lucru de deployment pentru împachetarea codului sursă în executabile distribuibile cu active încorporate. Exemplele abordează în continuare componente UI funcționale, cum ar fi validarea input-ului, meniurile de navigare și integrarea în system tray, alături de implementări de securitate pentru autentificarea utilizatorilor și controlul accesului bazat pe roluri.
Demonstrates architectural patterns for offloading heavy processing to background threads to maintain interface responsiveness.
Hive este o bază de date NoSQL key-value ușoară, scrisă în Dart pur pentru persistența datelor locale. Funcționează ca un magazin de documente type-safe care permite salvarea și recuperarea structurilor de date complexe și a obiectelor personalizate. Sistemul se distinge prin utilizarea adaptoarelor personalizate pentru serializarea obiectelor și criptarea cu cheie simetrică pentru a securiza datele at rest. Pentru mediile web, oferă un strat de persistență care wrap-uiește IndexedDB și utilizează web workers. Proiectul acoperă domenii largi de capabilități, inclusiv gestionarea containerelor, scrieri tranzacționale atomice și recuperarea datelor indexate. Suportă offloading-ul operațiunilor bazei de date către izolate de fundal pentru a menține responsivitatea interfeței utilizator și permite inițializarea containerelor de stocare prin asset-uri binare pre-populate.
Offloads database operations to background isolates to prevent blocking the main user interface thread.
Workerize este un încărcător de module web worker și un instrument de offloading pentru thread-ul principal. Funcționează ca un wrapper proxy asincron care permite modulelor JavaScript să ruleze în background workers, prevenind înghețarea UI-ului browserului prin delegarea sarcinilor computaționale costisitoare către thread-uri separate. Proiectul utilizează o interfață bazată pe proxy pentru a apela funcții în interiorul unui background worker ca și cum ar fi apeluri asincrone locale. Acest mecanism permite execuția modulelor în worker-i paraleli pentru a menține responsivitatea thread-ului principal. Sistemul acoperă execuția asincronă a modulelor și integrarea web worker, concentrându-se pe optimizarea thread-ului principal prin mutarea logicii grele în afara thread-ului de execuție primar.
Loads and runs JavaScript modules in Web Workers to move heavy logic off the main thread.