C#中AoS与SoA的性能对比问询及基准测试结果
C#中AoS与SoA的性能对比问询及基准测试结果
最近我专门做了一组基准测试,用来对比C#里AoS(数组结构,对应测试项里的OneArrayBigStruct)和SoA(结构数组,对应ManyArraysSmallStruct)两种数据存储方式的性能差异,测试分别针对100万条和1万条数据展开,具体结果如下:
100万条数据的测试结果
这是针对100万条测试项跑出的完整性能数据:
| Method | Mean | Error | StdDev |
|---|---|---|---|
| OneArrayBigStruct | 8.798 ms | 0.2200 ms | 0.6278 ms |
| ManyArraysSmallStruct | 6.999 ms | 0.2156 ms | 0.6221 ms |
从结果能明显看出,在百万级数据量下,SoA的性能表现要优于AoS,平均耗时比AoS少了近1.8ms。
1万条数据的测试结果
针对1万条数据的测试,目前仅整理出表头部分,完整的数值结果还在补充中:
| Method | Mean | Error | StdDev |
|---|
内容来源于stack exchange
相关产品推荐
相关产品推荐

