6 repository-uri
Techniques for reusing existing object instances during deserialization to avoid heap allocations and reduce garbage collection pressure.
Distinct from Connection Object Reuses: None of the candidates address general memory-level object recycling for serialization; candidates are focused on cloud instances or graphics instancing.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Object Instance Reuses. Refine with filters or upvote what's useful.
MemoryPack este o bibliotecă de serializare binară de înaltă performanță pentru C# și Unity. Oferă un pipeline de date zero-allocation și un framework de evoluție a schemei conceput pentru a minimiza alocările de memorie și overhead-ul de codificare. Proiectul utilizează generatoare de sursă la momentul compilării pentru a evita reflexia la runtime și implementează un format binar zero-encoding pentru un throughput maxim. Se distinge printr-o abordare zero-allocation care reutilizează instanțele de obiecte pentru a reduce presiunea asupra garbage collector-ului și copiază layout-ul de memorie al structurilor neadministrate direct în fluxurile binare. Biblioteca acoperă versionarea schemei binare pentru compatibilitate inversă și suportă streaming-ul asincron al colecțiilor pentru seturi mari de date. Include un generator de tipuri TypeScript pentru a sincroniza structurile de date între C# și TypeScript pentru schimbul de date cross-language. Capabilitățile suplimentare includ compresia payload-ului, implementări personalizate de formatter și callback-uri de serializare.
Provides the ability to deserialize data into existing object instances to minimize memory allocations and GC frequency.
Acest proiect este un studiu tehnic și un ghid de analiză axat pe arhitectura internă a Node.js. Oferă o examinare aprofundată a runtime-ului, concentrându-se pe modul în care motorul gestionează handle-urile de memorie, execută operațiuni asincrone și implementează logica modulelor de bază. Ghidul analizează în mod specific integrarea claselor și funcțiilor native C++ în JavaScript și documentează comportamentul event loop-ului libuv. Include referințe detaliate pentru optimizarea performanței prin identificarea bailouts-urilor compilatorului V8 și profilarea execuției pentru a îmbunătăți eficiența resurselor. Materialul acoperă o gamă largă de sisteme interne, inclusiv programarea de rețea de nivel jos pentru TCP și UDP, gestionarea proceselor pentru clustering și subprocess-uri, și mecanica I/O-ului non-blocking. De asemenea, explorează implementarea la nivel de sursă a bufferelor, stream-urilor și stratul de binding nativ-la-script.
Details the use of object pooling for HTTP parsers to reduce heap allocation and GC pressure.
HandyJSON este o bibliotecă de serializare JSON și un mapper de date pentru Swift. Acesta funcționează ca un mapper de obiecte care convertește datele JSON în modele Swift tipizate și transformă obiectele Swift înapoi în șiruri JSON pentru stocare sau transmisie. Biblioteca utilizează reflexia pentru a mapa automat cheile JSON la proprietățile obiectelor și suportă metadate de mapare personalizate pentru a rezolva diferențele de denumire între API-uri și cod. Oferă capabilități pentru extragerea valorilor din căi profund imbricate în cadrul unei structuri JSON și suportă transformarea tipurilor complexe, cum ar fi datele și URL-urile. Framework-ul gestionează atât deserializarea JSON în clase și structuri structurate, cât și serializarea obiectelor model. De asemenea, permite actualizarea instanțelor de obiecte existente prin popularea acestora cu valori derivate din șiruri sau dicționare JSON.
Allows updating existing object instances by populating them with values derived from JSON.
Mapperly este un generator de surse C# utilizat pentru maparea de înaltă performanță de la obiect la obiect în .NET. Acesta funcționează ca o bibliotecă de mapare la momentul compilării care produce codul de transformare necesar în timpul procesului de build, eliminând nevoia de reflexie la runtime atunci când se convertesc modelele de domeniu în obiecte de transfer de date (DTO). Instrumentul se distinge prin oferirea unei validări diagnostice sigure din punct de vedere al tipurilor și impunerea unei mapări stricte, emițând avertismente pentru proprietățile nemapate la momentul compilării. Include capabilități specializate pentru gestionarea referințelor circulare și clonarea profundă pentru a menține identitatea obiectelor și a preveni buclele infinite în timpul transformărilor complexe. Proiectul acoperă o gamă largă de sarcini de transformare, inclusiv aplatizarea ierarhiilor de obiecte imbricate, conversia diverselor tipuri de colecții și span-uri, precum și maparea cuprinzătoare a enum-urilor între șiruri și tipuri primitive. De asemenea, suportă integrarea cu baza de date prin proiecția interogărilor, traducând definițiile de mapare în arbori de expresii pentru a optimiza preluarea câmpurilor din surse interogabile. Opțiunile de configurare permit fabrici de obiecte personalizate, excluderi la nivel de membru și integrarea logicii de mapare definite de utilizator. Codul sursă generat poate fi exportat într-un director configurabil pentru inspecție manuală și controlul versiunilor.
Updates a provided target object instance with source values instead of creating a new instance.
Acest proiect este un ghid cuprinzător de programare pentru performanță și o referință pentru limbajul Go, concentrându-se pe eficiența runtime și optimizarea memoriei. Oferă o colecție de tipare și tehnici concepute pentru a crește viteza de execuție prin reducerea overhead-ului garbage collection-ului și optimizarea utilizării memoriei. Resursa se distinge prin implementări de referință detaliate pentru optimizarea memoriei, cum ar fi escape analysis, object pooling și alinierea memoriei structurilor. Oferă strategii specifice pentru reducerea dimensiunii binarului și îmbunătățirea eficienței cache-ului CPU prin optimizarea layout-ului memoriei structurilor și utilizarea placeholder-elor cu alocare zero. Proiectul acoperă o gamă largă de capabilități de inginerie backend, inclusiv gestionarea concurenței cu worker pools și primitive de sincronizare, RPC de înaltă performanță și rutare HTTP, precum și strategii de caching distribuit. Include, de asemenea, îndrumări privind observabilitatea prin profilarea CPU și a memoriei, precum și tipare de asigurare a calității pentru unit testing funcțional și generarea de obiecte mock. Conținutul este structurat ca o serie de tutoriale, exemple arhitecturale și ghiduri de benchmarking pentru a ajuta dezvoltatorii să analizeze și să remedieze blocajele de performanță.
Implements mechanisms for recycling short-lived objects to reduce heap allocations in high-concurrency environments.
This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats such as JSON, XML, YAML, and CSV, and to reconstruct those objects from serialized data. It functions as a data transformation tool that maps object properties to array structures, facilitating both application state persistence and the exchange of data between systems. The framework distinguishes itself through a two-stage pipeline that normalizes objects into intermediate structures before encoding them into specific formats. It supports advanced mapping requirements, includ
Updates existing object instances with new data during deserialization to facilitate partial updates and state synchronization.