php - perl Spreadsheet::WriteExcel 是否比 PHPExcel 更快且占用内存更少?

标签 php perl

我正在使用 PHPExcel 和一个 php orm 生成 excel5 电子表格,用于报告网络应用程序事务。

不得不写更多,我想知道 perl 解决方案是否会占用更少的内存并更快地生成 excel 文件?

例如,在 PHPExcel 上使用调整大小的列创建 186 行和列直到 BG,使用日期、数字和字符串等数据类型设置在 64 位、6 核、SSD 驱动器上占用 91mb 内存和 62 秒等等gb 内存,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

关于php - perl Spreadsheet::WriteExcel 是否比 PHPExcel 更快且占用内存更少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737850/

相关文章:

php - 由于未知原因无法访问变量

javascript - 尝试从每个显示的表中回显一列

javascript - AJAX 验证,ajax 不执行但它发送 get 到 index.php

Perl 使用 qx 中的 find

Perl LWP::UserAgent 错误处理 UTF-8 响应

perl - 如何使用 block 作为 'or' 子句而不是简单的骰子?

regex - Perl 正则表达式导致编译错误

php - Glicko-2 评级系统 : Bug or exploit?

php - Firebase Api Key 仅不适用于 iOS

regex - 为什么要实现不同的正则表达式引擎(例如 PCRE)作为编译指示?