与PHPExcel一样,perl Spreadsheet :: WriteExcel是否更快且占用的内存更少?

我正在使用PHPExcel和php orm来生成excel5电子表格,以用于Web应用程序交易的报告.

必须写更多的东西,我想知道一个perl解决方案是否会减少内存消耗,并更快地生成该excel文件?

例如,使用重新调整大小的列来创建186行和最多BG的列,并在PHPExcel上使用日期,数字和字符串等数据类型设置,在64位,6核,ssd驱动器和gb的内存上占用了91mb的内存和62秒的内存. ,Linux服务器. (数字不包括orm)

解决方法:

我搜索了太多基本的perl用法,函数等之后,自己对它进行了测试,所以这里是:

测试笔记

此处显示的统计信息与我提出的问题相差很大,因为我对每一行进行了外部api调用,这花费了很多时间.

php的内存统计数据是未创建任何excel文件与创建它之间的峰值用法差异,而与perl一起使用的是valgrind. (在这里也请从我的问题中忽略内存统计信息)

另外,我没有使用管道将值从php orm传递到perl(这可能更快),也没有在perl内执行查询,因为我不想为此测试深入到perl.我只是将json_encoded字符串写入php中的文件,使用exec()称为perl脚本,然后读取文件并在perl中解码json字符串.

我使用了两个库的最新版本

数据测试

使用基本的粗体格式创建一个标题行,
180行以上的数据,列的上限为BG,
将一堆日期和数字格式应用于一半的列,
以及自动调整列大小.

答案/结果(几次运行平均)

使用PHPExcel:4.94秒,60,191 mb
使用Perl Spreadsheet :: WriteExcel:0.01秒,13,193 mb

上一篇:C#/ Perl连接中的套接字缓冲区溢出


下一篇:class bool