这个项目能做什么

Parquet.SourceGenerator 是一个 C# Roslyn 源代码生成器,旨在为 Parquet.Net 的低级列式基元在编译时创建强类型序列化器和反序列化器。通过消除运行时反射,它实现了显著的性能提升,包括更快的执行时间和相比传统反射方法的更低内存使用。该工具支持 Native AOT 编译,使其适合冷启动性能至关重要的无服务器函数和 CLI 实用程序。关键特性包括多核并行读取、通过 IAsyncEnumerable 的内存有界流式传输,以及从 Apache Arrow RecordBatches 直接摄取列式数据。它强制执行严格的编译时诊断以尽早捕获错误,并支持各种压缩编解码器,如 Snappy、Zstandard 和 Gzip。该生成器对于扁平分析型模式特别有效,尽管目前在嵌套集合和某些日期类型方面存在局限性。