avila-arrow
Zero-copy columnar format with scientific extensions for high-performance computing.
๐ Features
- 11 Primitive Arrays: Int8-64, UInt8-64, Float32/64, Boolean, UTF-8
- 4 Scientific Arrays: Quaternions, Complex64, Tensor4D, Spinors
- 20+ Compute Operations: Aggregations, filters, comparisons, sorting, arithmetic
- SIMD Acceleration: AVX2-optimized operations for 4x performance
- Zero Dependencies: Only
byteorderrequired - AvilaDB Native: Direct integration with AvilaDB
๐ฏ Unique in the World
Avila-arrow is the only columnar format with native support for:
- QuaternionArray: SLERP interpolation for aerospace rotations
- ComplexArray: FFT-ready signal processing
- Tensor4DArray: Relativistic spacetime metrics
- SpinorArray: Quantum mechanics states
๐ฆ Installation
[]
= "0.1"
๐ฅ Quick Start
use ;
use Int64Array;
use *;
// Create schema
let schema = new;
// Create arrays
let ids = from;
let values = from;
// Compute operations
let sum = sum_f64;
let mean = mean_f64.unwrap;
let filtered = filter_f64?;
println!;
๐งช Scientific Computing
use *;
// Quaternion arrays for spacecraft orientation
let q1 = from_axis_angle;
let q2 = from_axis_angle;
let array1 = new;
let array2 = new;
// SLERP interpolation for smooth rotation
let interpolated = array1.slerp.unwrap;
// Complex arrays for FFT
let signal = new;
let magnitudes = signal.magnitude;
let phases = signal.phase;
โก SIMD Performance
use *;
let data: = .map.collect;
// 4x faster with AVX2
let sum = unsafe ;
๐ Benchmarks
| Operation | Scalar | SIMD (AVX2) | Speedup |
|---|---|---|---|
| Sum 1M | 420ฮผs | 105ฮผs | 4.0x |
| Add 1M | 850ฮผs | 215ฮผs | 3.95x |
| Mul 1M | 890ฮผs | 220ฮผs | 4.04x |
๐ Examples
See examples/ directory:
basic.rs- Arrays and RecordBatchscientific.rs- Quaternions, Complex, Tensorscompute.rs- Data analysis operationsipc.rs- Serialization (coming soon)
Run with:
๐งฌ Use Cases
- Aerospace: Spacecraft orientation tracking with quaternions
- Signal Processing: FFT analysis with complex arrays
- Physics: Relativistic simulations with tensors
- Quantum Computing: State vectors with spinors
- Data Analytics: High-performance columnar analytics
๐ ๏ธ Features
[]
= "0.1"
= ["scientific", "compression", "ipc"]
scientific(default): Scientific array typescompression: Compression supportipc: Arrow IPC formataviladb: AvilaDB integration
๐ Roadmap
- Primitive arrays (Int8-64, UInt8-64, Float32/64)
- Scientific arrays (Quaternion, Complex, Tensor4D, Spinor)
- Compute kernels (sum, mean, filter, sort)
- SIMD acceleration (AVX2)
- Arrow IPC format compatibility
- GPU acceleration (CUDA)
- Distributed computing support
- More examples and benchmarks
๐ค Contributing
Contributions welcome! Please open an issue or PR.
๐ License
Dual licensed under MIT OR Apache-2.0.
๐ Credits
Built with โค๏ธ by avilaops for the Brazilian scientific computing community.
Status: v0.1.2 - 70 tests passing โ