性能数据
下面的性能数据展示了创建 N
行 50
列工作表所执行时间和内存使用情况,其中单元格的值均为 6 个文本字符。测试环境基于普通个人计算机 (OS: macOS Big Sur version 11.2, CPU: 3.4 GHz Intel Core i5, RAM: 16 GB 2400 MHz DDR4, HDD: 1 TB, Go Version: go1.15.7 darwin/amd64
, Commit: 23c73ab
)。具体数据会因机器而异,但趋势应该是一样的。
测试项 | 行 | 列 | 时间 (秒) | 内存占用 (MB) |
---|---|---|---|---|
SetSheetRow | 200 | 50 | 0.006 | 16 |
400 | 50 | 0.106 | 25 | |
800 | 50 | 0.207 | 44 | |
1600 | 50 | 0.410 | 75 | |
3200 | 50 | 0.810 | 167 | |
6400 | 50 | 1.651 | 298 | |
12800 | 50 | 3.278 | 585 | |
25600 | 50 | 6.632 | 1291 | |
52100 | 50 | 13.718 | 2658 | |
102400 | 50 | 27.491 | 5049 | |
StreamWriter | 200 | 50 | 0.017 | 9 |
400 | 50 | 0.031 | 11 | |
800 | 50 | 0.059 | 13 | |
1600 | 50 | 0.113 | 17 | |
3200 | 50 | 0.230 | 29 | |
6400 | 50 | 0.435 | 50 | |
12800 | 50 | 0.893 | 65 | |
25600 | 50 | 1.813 | 82 | |
52100 | 50 | 3.939 | 106 | |
102400 | 50 | 8.043 | 154 | |
RowIterator | 200 | 50 | 0.051 | 10 |
400 | 50 | 0.010 | 10 | |
800 | 50 | 0.197 | 12 | |
1600 | 50 | 0.395 | 15 | |
3200 | 50 | 0.784 | 24 | |
6400 | 50 | 1.530 | 40 | |
12800 | 50 | 3.029 | 73 | |
25600 | 50 | 6.054 | 140 | |
52100 | 50 | 12.317 | 271 | |
102400 | 50 | 24.175 | 534 | |
AddChart | 200 | 50 | 8.693 | 210 |
SetHyperLink | 200 | 50 | 1.034 | 16 |
400 | 50 | 3.937 | 24 | |
800 | 50 | 15.744 | 46 | |
AddPicture | 200 | 50 | 1.471 | 51 |
400 | 50 | 4.925 | 95 | |
800 | 50 | 18.586 | 184 | |
1600 | 50 | 79.356 | 360 |
性能数据由此基准测试脚本生成。
相关 Excel 开源类库性能对比
下图展示了 Go, Python, Java, PHP 和 NodeJS 语言中典型 Excel 开源基础库,基于普通个人计算机 (OS: macOS Catalina version 10.15.7, CPU: 3.4 GHz Intel Core i5, RAM: 16 GB 2400 MHz DDR4, HDD: 1 TB) 生成 50
列 102400
行纯文本单元格的性能表现。