对比Laravel Excel和Spout的读写性能   2019-07-07


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
./artisan excel:write --driver=spout --amount=100000
写入数据100000行。
用时:156秒。
最大使用内存:2750.5106964111 M。

./artisan excel:write --driver=laravel-excel --amount=100000
写入数据100000行。
用时:305秒。
最大使用内存:1330.7370758057 M。

./artisan excel:read ./storage/app/test.xlsx --driver=spout
读取数据100001行。
用时:576秒。
最大使用内存:122.15303039551 M。

./artisan excel:read ./storage/app/test.xlsx --driver=laravel-excel
读取数据100001行。
用时:166秒。
最大使用内存:739.48976898193 M。

基本上,Laravel Excel写XLSX的性能是Spout的一半,但内存占用是对方的一半。而在读文件上,前者的性能是后者的约3倍多,而内存占用是后者的6倍。

测试环境:

  • MBP 3.1 GHz Intel Core i5 8G内存
  • PHP 7.1.30
  • Laravel 5.8.27
  • Laravel Excel 3.1.14
  • Spout 3.0.1

本文基于署名4.0国际许可协议发布,转载请保留本文署名和文章链接。 如您有任何授权方面的协商,请联系我。