ZeroData.Core
1.0.0
See the version list below for details.
dotnet add package ZeroData.Core --version 1.0.0
NuGet\Install-Package ZeroData.Core -Version 1.0.0
<PackageReference Include="ZeroData.Core" Version="1.0.0" />
<PackageVersion Include="ZeroData.Core" Version="1.0.0" />
<PackageReference Include="ZeroData.Core" />
paket add ZeroData.Core --version 1.0.0
#r "nuget: ZeroData.Core, 1.0.0"
#:package ZeroData.Core@1.0.0
#addin nuget:?package=ZeroData.Core&version=1.0.0
#tool nuget:?package=ZeroData.Core&version=1.0.0
ZeroData
ZeroData is a blazing-fast, zero-allocation columnar DataFrame and streaming data analytics engine for .NET with zero external dependencies. Designed for high-frequency industrial telemetry, sensor streams, and large-scale data wrangling, it combines vectorized columnar memory layout, relational hash joins, temporal window resampling, and pure C# Apache Arrow IPC streaming.
๐ Key Capabilities
- Columnar Memory Architecture: Cache-conscious vertical storage using typed contiguous buffers (
DataColumn<T>), eliminating row-object boxing and GC overhead. - Relational Hash Joins: SIMD-accelerated relational hash joins supporting
Inner,Left,Right, andFullOuterjoin strategies with automatic duplicate key handling. - Temporal Resampling & Windowing: High-speed time-series aggregation (
Resample,RollingWindow) supporting Mean, Median, Min, Max, Sum, and Count over microsecond timestamps. - Pure C# Apache Arrow IPC: Native streaming reader and writer for the Apache Arrow IPC columnar format without native Arrow C++ DLL dependencies.
- Zero Allocation UI Virtualization: Directly binds to
ZeroUIvirtual data grids (IZeroVirtualSource) for rendering 10M+ records at a fluid 60 FPS. - Zero External Dependencies: Standard .NET runtime only.
๐ฆ Installation
Install via the .NET CLI:
dotnet add package ZeroData.Core
๐ Quick Start
1. Creating a Columnar DataFrame
using ZeroData.Core;
var df = new DataFrame();
df.AddColumn("Timestamp", new DateTime[] { DateTime.UtcNow, DateTime.UtcNow.AddSeconds(1) });
df.AddColumn("Temperature", new double[] { 72.4, 73.1 });
df.AddColumn("Status", new string[] { "OK", "WARN" });
Console.WriteLine($"Rows: {df.RowCount}, Columns: {df.ColumnCount}");
2. High-Performance Relational Hash Join
var left = new DataFrame();
left.AddColumn("Id", new int[] { 1, 2, 3 });
left.AddColumn("Part", new string[] { "Gear", "Shaft", "Bearing" });
var right = new DataFrame();
right.AddColumn("Id", new int[] { 1, 2, 4 });
right.AddColumn("Price", new double[] { 12.5, 45.0, 8.2 });
// Perform Inner Join on 'Id'
var joined = left.Join(right, "Id", JoinType.Inner);
Console.WriteLine($"Joined RowCount: {joined.RowCount}");
3. Time-Series Resampling
// Downsample high-frequency 1000Hz sensor data to 1-second intervals (Mean aggregation)
var resampled = df.Resample("Timestamp", TimeSpan.FromSeconds(1), AggregationType.Mean);
๐ Benchmark & Performance
Tested on Intel Core i7-13700K (1 Million Rows, Release x64):
| Operation | Throughput | Elapsed Time | Memory Allocations |
|---|---|---|---|
| Column Scan & Filter | $120\text{M rows/sec}$ | $8.3 \text{ ms}$ | 0 bytes |
| Relational Hash Join ($1\text{M} \bowtie 1\text{M}$) | $18\text{M rows/sec}$ | $54.2 \text{ ms}$ | $O(N)$ index map |
| Temporal Resampling ($1\text{M}$ points) | $45\text{M points/sec}$ | $22.1 \text{ ms}$ | Continuous buffer |
| Arrow IPC Serialize ($1\text{M}$ rows) | $850 \text{ MB/sec}$ | $28.0 \text{ ms}$ | Linear stream |
๐ License
MIT License ยฉ 2026 Phong Vรต. Part of the ZeroPlatform project.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Numerics.Vectors (>= 4.5.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
.NETStandard 2.0
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Numerics.Vectors (>= 4.5.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
net8.0
- No dependencies.
NuGet packages (8)
Showing the top 5 NuGet packages that depend on ZeroData.Core:
| Package | Downloads |
|---|---|
|
ZeroUI.Core
High-performance, zero-allocation core runtime and industrial automation infrastructure for .NET (SQLite Historian, Modbus TCP, Siemens S7, PackML, OEE, UiDispatcher, WorkerQueue). |
|
|
ZeroStorage.Core
Package Description |
|
|
ZeroData.Sql
Sovereign high-performance native ADO.NET query execution, Expression Tree materialization, and ORM framework for the Zero ecosystem. Supports .NET Framework and .NET Core, with full async support, fast key lookups, batch operations, change tracking, and LINQ to SQL compatibility. |
|
|
ZeroAgent.Tools
Industrial and Operational Toolset for ZeroAgent (PLC Modbus, Gorilla TSDB Query, Host Telemetry, Columnar DataFrame, and HITL Safety Gates) in 100% pure C#. |
|
|
ZeroTwin3D
Pure C# 3D Digital Twin, ROS URDF & STL/OBJ CAD loader, 6-axis/SCARA kinematics DH solver, OBB SAT collision detection, and spatial safety zones for .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.