With large workbooks, there are some techniques for reducing execution time.
For example, set cell values explicitly:
The above is always faster than using the below methods because PHPExcel can then skip data type detection
Whenever you can, always set cell values explicitly. For a start, you may try these kind of optimizations and post back the results.
The PEAR::Spreadsheet_Excel_Writer using disk caching which explains the low memory usage. Next release of PHPExcel (1.7.0) is only a couple of week away and we can not implement caching in such short time. Once caching is implemented, memory usage of PEAR::Spreadsheet_Excel_Writer
and PHPExcel will probably be similar.
We are regularly improving speed in PHPExcel. There are a few percent to save here and there, and in the end these may add up to many seconds saved. This is an ongoing process.