16 dépôts
Deferring the initialization of plugins until specific triggers are encountered to improve startup performance.
Distinct from Programmatic Plugin Loading: Focuses on on-demand activation based on user commands or file types, distinct from general programmatic loading.
Explore 16 awesome GitHub repositories matching software engineering & architecture · Lazy Loading. Refine with filters or upvote what's useful.
vim-plug is a plugin manager for the Vim text editor that functions as a git-based dependency manager and configuration bootstrapper. It downloads and organizes external plugin packages from remote repositories to extend the editor's functionality. The project acts as a lazy-loading orchestrator to reduce editor startup time by deferring the loading of plugins until specific commands or file types are encountered. It enables version pinning by allowing plugins to be fetched using specific git branches, tags, or commit hashes. The manager provides a framework for plugin installation, lifecycl
Reduces editor startup time by loading plugins only when a specific command is executed or a particular file type is opened.
NvChad is a Neovim configuration framework that provides a pre-configured base setup with a refined interface and custom defaults. It serves as a modular system for managing the editor environment through a curated plugin suite and configuration files written in Lua. The framework features a lazy-loading plugin manager designed to minimize startup time and improve responsiveness by initializing components on demand. It also includes a built-in theme engine with a dedicated picker for switching between different visual styles and aesthetic configurations. The project covers a broad range of d
Defers the initialization of plugins until specific commands or events are triggered to minimize startup time.
This project is an Emacs configuration framework that provides a curated distribution of the editor. It focuses on a modular editor environment and a declarative package management system to ensure reproducible installations and optimized defaults. The framework distinguishes itself through a performance-optimized editor setup that uses lazy loading to reduce startup times. It implements a Vim-emulation layer, providing a modal editing interface with Vim keybindings and a leader-key command hierarchy for efficient navigation. The system covers a broad range of capabilities, including IDE lan
Implements lazy loading of packages and functions to significantly reduce initial editor startup time.
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
Implements lazy loading of named modules to optimize editor startup performance.
Hardhat is a smart contract development framework and EVM tooling suite designed for the full lifecycle of Ethereum and EVM-compatible applications. It serves as a development environment for compiling, testing, and deploying smart contracts, providing a local blockchain simulation and a programmable task runner. The framework is distinguished by its extensive simulation capabilities, including the ability to fork remote network state and manipulate block time or account balances. It features a hook-based plugin system that allows for the extension of core functionality and the creation of cu
Loads configuration values on demand from environment variables or encrypted storage to enhance security and performance.
packer.nvim is a declarative plugin manager for Neovim that uses the editor's native package system to install, update, and remove plugins. It functions as a lazy loading orchestrator, a Lua package manager for Luarocks dependencies, and an environment snapshot tool for saving and restoring plugin states to enable version rollbacks. The project optimizes editor startup by compiling loading rules and deferring plugin initialization until specific triggers, such as commands or filetypes, occur. It ensures environment stability through dependency-graph resolution and loading order control. The
Implements event-triggered lazy loading to defer plugin initialization until specific commands or filetypes are detected.
AngularFire is a set of tools for connecting applications to Firebase services. It provides a library of client-side interfaces for managing authentication, object storage, NoSQL databases, and serverless functions. The project utilizes observables and dependency injection to integrate cloud services into the application hierarchy. It features a reactive interface for streaming real-time data, managing document-based databases, and tracking authentication state as a continuous stream of tokens. The platform covers a broad range of cloud capabilities, including identity verification, binary f
Defers the initialization of backend services until they are explicitly needed to optimize the initial bundle size.
Iron est un framework web Rust utilisé pour construire des applications web concurrentes et des API. Il fonctionne comme un serveur HTTP concurrent et fournit un répartiteur de routes sans état pour mapper les chemins d'URL entrants et les globs vers des fonctions de gestion spécifiques. Le projet est centré autour d'un pipeline de requêtes basé sur des middlewares, qui permet d'étendre le cycle requête-réponse via des plugins et des modificateurs. Il utilise un conteneur d'état thread-safe pour stocker la mémoire d'application partagée accessible à travers tous les gestionnaires et middlewares concurrents. Le framework couvre de larges domaines de fonctionnalités, notamment le routage d'API dynamique, l'hébergement de fichiers statiques et la gestion de l'état de session web. Il inclut également des outils pour logger le trafic HTTP et parser les corps de requête et les paramètres d'URL.
Defers the initialization and execution of request parsing plugins until data is required.
zplug est un gestionnaire de plugins pour le shell Zsh conçu pour installer et organiser des plugins, thèmes et commandes communautaires à partir de dépôts distants et de chemins locaux. Il se concentre sur la reproductibilité de l'environnement via une configuration versionnée, permettant aux plugins d'être épinglés à des branches git, tags ou hashs de commit spécifiques. Le projet optimise la vitesse de démarrage du shell en utilisant un système de chargement paresseux (lazy loading) qui diffère l'exécution des plugins jusqu'à ce qu'ils soient explicitement requis. Pour accélérer la configuration initiale de l'environnement, il emploie un installateur parallèle qui télécharge plusieurs extensions simultanément. Le gestionnaire prend en charge l'installation multi-source et gère la résolution des dépendances d'extensions pour garantir que les paquets requis sont chargés dans le bon ordre. Il inclut également des capacités pour télécharger des artefacts binaires externes et les mapper automatiquement au chemin système, ainsi que pour exécuter des hooks de cycle de vie personnalisés lors de l'installation et des mises à jour.
Implements a lazy loading system that defers plugin initialization until the associated commands are actually used.
Neovim-from-scratch is a learning-oriented Neovim configuration that demonstrates how to build a complete editor setup from scratch. It serves as a starter template designed to be understandable and customizable, providing a stable foundation for creating a personal development environment. The project is structured as a Neovim IDE bootstrap that helps users quickly set up a functional editor with essential plugins and settings. The configuration is built around a modular structure that organizes settings, keymaps, and plugins into separate files for maintainability and clarity. It uses Lua-b
Employs a lazy-loading plugin manager to defer plugin initialization and reduce startup time.
gdext fournit un ensemble de liaisons de langage pour écrire une logique de jeu native haute performance en Rust pour le moteur Godot 4. Il sert de framework pour créer des extensions de moteur natives et des classes personnalisées via la bibliothèque GDExtension, permettant aux développeurs d'étendre les fonctionnalités principales du moteur sans recompiler le code source du moteur. Le projet inclut une chaîne d'outils Rust WebAssembly dédiée pour compiler la logique native en modules pour une exécution dans les navigateurs web. Ce système prend en charge la compilation compatible WebAssembly avec des configurations spécifiques pour le threading web et le débogage de modules. La boîte à outils couvre un large éventail de capacités d'intégration au moteur, y compris les définitions de classes personnalisées, la gestion des nœuds de l'arbre de scène et la gestion des signaux avec typage sécurisé. Elle fournit des utilitaires pour la simulation physique, la génération de contenu procédural et le développement de plugins d'éditeur personnalisés. Le développement est soutenu par des outils d'automatisation pour la configuration de projet, le test d'extensions natives et le test unitaire de logique.
Reduces initial memory usage and startup time by deferring the loading of engine function pointers until they are first used.
Zinit est un gestionnaire de plugins Zsh conçu pour télécharger, charger et mettre à jour des extensions et des snippets pour le shell Z. Il fonctionne comme un optimiseur de performance, un installateur de binaires shell et un gestionnaire de complétion, fournissant un framework pour l'automatisation du cycle de vie du shell et l'enregistrement des définitions de complétion par tabulation. Le projet se distingue par une optimisation avancée du démarrage, utilisant la compilation en bytecode, la mise en cache de configuration et le chargement différé pour réduire les temps de boot du shell. Il différencie davantage son modèle d'exécution de plugins en prenant en charge le sourcing de snippets de code distants individuels sans nécessiter d'installations complètes de dépôts et en utilisant des couches d'émulation shell pour assurer la compatibilité avec une syntaxe non native. Les capacités plus larges du gestionnaire incluent l'automatisation des cycles de vie des plugins via des hooks d'installation, le déploiement de binaires compilés dans des répertoires préfixés dédiés, et l'activation dynamique des plugins basée sur les conditions environnementales. Il fournit également des outils pour gérer les services en arrière-plan utilisant des tubes nommés, surveiller l'activité des plugins et effectuer une analyse des performances de chargement.
Reduces shell boot times by postponing the loading of non-essential components until the primary interface is ready.
This project is a collection of configuration files for managing a personalized Linux desktop environment. It provides a comprehensive bundle for a tiling window manager, a Zsh shell environment, and a Neovim editor setup to synchronize software settings across different machines. The configuration focuses on unified system theming, utilizing a cross-application theme suite to sync color palettes and visual styles across the terminal, browser, and system utilities. It includes a visual settings editor for immediate theme switching and wallpaper management without requiring session restarts.
Defers Neovim plugin initialization until first use to improve editor startup performance.
AdalFlow est un framework d'agents IA autonomes et une bibliothèque d'applications LLM conçue pour construire des flux de travail modulaires. Il sert d'interface agnostique au modèle et d'orchestrateur de pipeline RAG, permettant aux utilisateurs de développer des agents ReAct qui utilisent un raisonnement itératif et l'exécution d'outils externes pour résoudre des tâches complexes. Le projet se distingue par un système d'optimisation de prompt qui utilise la descente de gradient textuelle pour affiner automatiquement les templates de prompt et les exemples few-shot. Il traite le feedback du modèle comme un signal différentiable, permettant une forme de rétropropagation LLM pour améliorer itérativement la qualité de sortie basée sur des métriques d'évaluation. Le framework couvre une large surface de capacités, incluant la génération augmentée par récupération (RAG) avec recherche vectorielle sémantique et reranking, le traçage d'exécution basé sur les spans pour l'observabilité, et l'analyse structurée pilotée par schéma. Il fournit une couche de communication unifiée pour de nombreux fournisseurs de modèles propriétaires et open source, et prend en charge la conversion de fonctions Python en interfaces d'outils standardisées. Le système est implémenté en Python et s'intègre avec MLflow pour le suivi et l'analyse des flux de travail.
Defers the loading of external dependencies until first use to optimize memory and startup time.
This project is a Neovim configuration framework and plugin suite written in the Lua programming language. It serves as a declarative setup for a modal text editor, providing the scripts and settings necessary to customize editor behavior and appearance. The configuration focuses on developer environment setup and utilizes a modular file structure to organize settings. It integrates ripgrep to provide high-performance file and text indexing across large codebases. The system incorporates a lazy-loaded plugin system and a keymap-based command routing model to manage external extensions and ed
Implements a plugin system that defers initialization until specific triggers are encountered to optimize startup performance.
This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects dependencies into structures using reflection and metadata tags. It functions as a service lifecycle manager and an interface binding library to decouple service consumption from concrete implementations. The framework utilizes a hierarchical service container, organizing services into a tree of nested scopes where child containers inherit dependencies from their ancestors. It includes a dependency graph visualizer for inspecting relationships and invocation chains, as well as a s
Defers the instantiation of dependencies until they are first requested to optimize startup time and memory.