13 repositorios
Implementing streaming pipelines to prevent memory exhaustion when processing large JSON objects.
Distinct from JSON: Specifically addresses memory management via streaming, whereas the parent focuses on the parsing architecture.
Explore 13 awesome GitHub repositories matching data & databases · Memory-Efficient Streaming. Refine with filters or upvote what's useful.
Fastjson is a Java data binding framework and serialization library designed to convert objects to JSON strings and parse JSON data into typed objects. It functions as a JSON parser and stream processor capable of transforming JSON strings into data structures. The project emphasizes high performance JSON processing and memory management, specifically through the use of a pipeline to stream oversized JSON objects and texts to prevent memory exhaustion. It provides capabilities for JSON data serialization and deserialization workflows, including custom JSON data mapping and the ability to def
Prevents application memory exhaustion by streaming oversized JSON objects and texts through a processing pipeline.
Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex
Processes request and response bodies as duplex streams to handle large datasets without memory exhaustion.
Gron is a command line utility that transforms nested JSON data into a flat list of path-value assignments. This process converts hierarchical structures into line-based statements, mapping every leaf value to its absolute path to make the data compatible with standard text-processing tools. The tool allows for the bidirectional transformation of data, enabling the reconstruction of original nested JSON objects from flattened path assignments. It can ingest JSON from local files, standard input, or remote URLs, with the ability to route network traffic through proxy servers. The utility supp
Employs memory-efficient streaming to process large JSON inputs without loading entire files into memory.
This project is a structured Node.js programming course and educational guide designed to teach JavaScript backend development. It provides a sequence of workshops and interactive tutorials that focus on the fundamentals of the Node.js runtime and its core modules. The material emphasizes asynchronous programming, specifically covering non-blocking I/O, callback patterns, and event-driven architecture. It includes a practical exploration of the core API for managing network applications, file system operations, and binary data. The curriculum covers module management and dependency resolutio
Provides instruction on using memory buffers to efficiently process binary data and large datasets.
Proxygen is a collection of C++ libraries for building high-performance HTTP servers and clients. It provides a protocol parser that converts raw network bytes into high-level transaction objects and includes a network stack for processing web traffic over the QUIC transport protocol. The project implements a layered protocol abstraction and a QUIC-based transport integration to support multiple versions of the HTTP standard, including HTTP/3. It utilizes state-machine based parsing and an event-driven I/O loop to manage concurrent network connections. The library covers asynchronous buffer
Utilizes non-blocking memory buffers to efficiently queue and stream data between the network socket and the application.
WeixinBot is a framework for WeChat account automation and bot development. It provides a programmable interface to monitor incoming messages and trigger automated actions within the WeChat ecosystem. The system emulates a browser session using a WebSocket-based protocol and establishes identity through QR code authentication. It maintains session-state persistence to keep accounts active without repeated verification. The project covers message processing for text, images, voice notes, and location data, and supports the transmission of emojis and links. It includes utilities for user conta
Provides background downloading of binary image and voice data to maintain system responsiveness.
oboe.js es un analizador (parser) de JSON por streaming y un cliente HTTP diseñado para el procesamiento incremental de datos. Permite que las aplicaciones actúen sobre objetos JSON individuales a medida que llegan de una solicitud de red o un flujo de lectura, antes de que se complete la descarga total. La biblioteca funciona como un transformador de flujos JSON, permitiendo la modificación, filtrado y mapeo de nodos al vuelo. Cuenta con selección de nodos basada en rutas para activar callbacks cuando se encuentran patrones específicos y puede terminar una conexión de red prematuramente una vez que se encuentran los datos requeridos para ahorrar ancho de banda. Para manejar conjuntos de datos que superan la memoria disponible del sistema, la biblioteca utiliza una gestión de memoria basada en flujos para descartar los nodos procesados. También admite la fusión de registros históricos con actualizaciones en tiempo real a través de conexiones de larga duración y proporciona la capacidad de recuperar datos parciales si se interrumpe una conexión.
Discards processed nodes from the internal tree to handle datasets that exceed available system RAM.
Beast es una librería de C++ para implementar clientes y servidores HTTP y WebSocket de bajo nivel. Funciona como un framework de red asíncrono diseñado para componer operaciones de E/S sin bloqueo y pilas de flujo en capas para gestionar el tráfico de red concurrente, utilizando específicamente el modelo asíncrono de Boost.Asio. La librería proporciona una implementación completa de los protocolos HTTP/1.1 y WebSocket. Para HTTP, incluye primitivas para analizar y serializar mensajes con soporte para codificación de transferencia fragmentada, lectura incremental del cuerpo y canalización de solicitudes. Su implementación de WebSocket cubre el ciclo de vida completo de la comunicación bidireccional, incluyendo apretones de manos, negociación de subprotocolos, fragmentación de mensajes y monitoreo de actividad mediante tramas de control. Beast incluye un conjunto especializado de herramientas para la gestión de buffers de red para optimizar la E/S de dispersión-recopilación a través de buffers de memoria dinámicos y basados en secuencias. También cubre la comunicación de red segura mediante la integración de capas SSL/TLS para flujos cifrados, autenticación de certificados y terminación segura de conexiones. El framework proporciona abstracciones multiplataforma para E/S de archivos y gestión de señales del sistema para apoyar el desarrollo de aplicaciones de red estables.
Uses dynamic and sequence-based buffer concepts to handle incremental data parsing.
Memgraph is an in-memory, distributed graph database designed for high-performance labeled property graph management. It utilizes a Cypher query engine for declarative data retrieval and manipulation, providing a scalable knowledge graph backend that integrates vector search and graph traversals. The system distinguishes itself as a real-time graph analytics platform, employing native C++ and CUDA implementations to execute complex network analysis and dynamic community detection on streaming data. It provides specialized support for AI integration, including GraphRAG capabilities, the constr
Removes relationships and nodes in batches to prevent memory exhaustion in large graphs.
evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP, and HTTP protocols. It provides an asynchronous event loop to manage nonblocking I/O operations and concurrent network connections across multiple threads. The framework includes specialized tools for asynchronous DNS resolution and a system for asynchronous task scheduling using a managed thread pool. It also features a nonblocking HTTP server and client with integrated connection pooling. The project covers low-level transport layer connectivity for TCP and UDP, as well as hi
Uses asynchronous network buffers to optimize data throughput between sockets and the application.
The Datadog Agent is an infrastructure monitoring agent and host telemetry collector. It functions as a background process that gathers system metrics and application health data to send to a centralized monitoring platform. The project operates as a plugin-based metric collector, using a modular system of independent check scripts to gather data from various third-party services and applications. It serves as a remote telemetry transmitter, providing a pipeline to stream infrastructure and system information to a remote analysis and alerting backend. Its capabilities cover application perfo
Implements non-blocking memory buffers to stream telemetry data between the agent and remote monitoring endpoints.
This project provides a browser-based media player and server-side bridging component designed to render live network camera feeds directly within web applications. By utilizing standard browser media APIs, it enables the playback of video streams without the need for external plugins or proprietary software. The system functions by routing raw network camera data through a server-side proxy that translates specialized protocols into browser-compatible formats. This bridge facilitates real-time media delivery by managing network traffic and decapsulating stream headers directly within the bro
Manages incoming network packets in a memory-efficient queue to ensure smooth video rendering despite fluctuations in network latency.
Tiramisu is a polyhedral C++ compiler framework designed to express and optimize data-parallel algorithms for diverse hardware accelerators. It provides a programming interface that allows developers to define mathematical expressions, manage loop iteration spaces, and organize functions targeting heterogeneous architectures. The system features an advanced compilation infrastructure that abstracts computations into a hardware-agnostic intermediate representation before lowering them into native machine code or hardware configuration bitstreams. It calculates exact data flow dependencies thro
Represents memory buffers and creates specific views on existing buffers to handle data access operations efficiently.