微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐