SPL处理模式能达到接近C++原生插件的性能,主要原因有:
核心算子C++实现:SPL的所有核心处理算子(正则解析、JSON解析、字段操作等)均使用C++编写,直接在C++层面执行数据处理,无需跨语言调用。
避免跨语言开销:不同于Go扩展插件需要C++→Go的数据序列化/反序列化,SPL完全在C++环境内运行,消除了跨语言传递数据的性能损耗。
调用SLS统一的SPL Lib:iLogtail 2.0中SPL底层调用了SLS统一的SPL库,该库经过SLS团队在大规模数据处理场景下的充分优化。
流式处理设计:SPL采用管道式流处理架构,数据按流水线逐条/逐批通过各算子,内存利用高效,无需中间缓存完整数据集。
因此SPL在保持接近原生C++插件性能的同时,提供了远超原生插件的灵活性。




