EasyXLS
http://forum.easyxls.com/

A question about speed
http://forum.easyxls.com/viewtopic.php?f=5&t=130
Page 1 of 1

Author:  teniel [ Tue Nov 20, 2007 11:54 am ]
Post subject:  A question about speed

Hi!

I use
Code:
ExcelTable.easy_getCell(y,x)
about 10,000 times to fill data in an Excel spreadsheet.

This takes a negligible amount of time.

However when I use
Code:
xls.easy_WriteExcelFile(fileFullPath);
to write the file, this takes around 15 seconds.

Is there anyway to speed this up? Because I want to use
Code:
ExcelTable.easy_getCell(y,x)
about 60,000 times in a spreadsheet, and it can take about 2 minutes to generate the spreadsheet?

Thank you

Author:  daniela [ Wed Nov 21, 2007 1:31 pm ]
Post subject: 

Here are 2 tips for decreasing the speed.
Using ExcelStyle for formatting instead of direct formatting each cell, drastically decrease the memory usage and this also affect the speed of execution. So if you have more cells with the same format, set the same ExcelStyle for all of them.
Also setting the data type of the cell might increase the speed of execution, since the default data type is automatic and it is determined by runtime.

Author:  hootches [ Sun Nov 25, 2007 6:05 am ]
Post subject:  Speed

I am have the same troubles with speed like teniel.

I am using your program to generate large Excel-Files in a Client-Server- Application. The generation of the ExcelDocument object runs fast but as soon as i start to write to the OutputStream it takes a while to complete. Actually this is to long to provide the generation of a Excel-File in a Request-based nature in our Application.

I already assign each Cell-Value its Cell-Stlye with the appropriate DataType set. All in all i use 6 Cell-Styles so far.

Are there any other chances to speed the writing to the Outputstream up ?

Author:  teniel [ Sun Nov 25, 2007 7:08 am ]
Post subject:  speed issues

Would using
Code:
easy_WriteXLSFile_FromDataSet
be significantly faster than doing each cell individually? And perhaps making a few formatting changes afterwards?

Author:  teniel [ Sun Nov 25, 2007 11:16 am ]
Post subject:  Speed

Hi Daniela,

Thank you for your suggestions. The report I am producing does not currently have any formatting, but I tried setting the data-type manually as you suggested. There was on average a small speed increase. (a bit less than a second on an Excel that took 12 seconds to produce)

Author:  daniela [ Mon Nov 26, 2007 7:47 am ]
Post subject: 

You should get similar results with our tests:
http://www.easyxls.com/docs/Volume%20 ... ks_6.1.doc

However, the speed depends also by your computer performances.

The speed of generation is also affected by how many formulas are in the document and the functions used inside formula. Each function is computed in its own amount of time.

Author:  daniela [ Mon Nov 26, 2007 7:49 am ]
Post subject: 

Also for the java version, you need to add an extra parameter when running your application.
JRE use 64M of memory by default and your computer performances don't count. You need to increase the memory heap size by using -mx option (run your application using "java -mx512m").
See this link:
http://forum.java.sun.com/thread.jspa?f ... dID=179198

Author:  teniel [ Tue Nov 27, 2007 7:44 am ]
Post subject: 

Thanks Daniela
This looks very helpful

Author:  teniel [ Sun Dec 02, 2007 11:17 am ]
Post subject:  Speed

Hi Daniela!

Just for information. We increased the jvm heap size as you suggested (although only to 256 MB) and ran our heavy excel report . The easyxls component took 15 to 20 seconds instead of over a minute (ie about a quarter of the time...)

Thank you very much

Author:  levi [ Wed Jan 16, 2008 9:27 am ]
Post subject:  Re: Speed

I am running into a similar speed/memory/performance issue as well. I am evaluating this library as well as several others and have been performing some tests such as opening/re-saving existing spreadsheets for our business to benchmark the times it takes to do this. This particular spreadsheet has about 15 sheets. 1 sheet has 604x6 cells with formulas in a lot of them. One has 3012x9 (2 hidden) cells with formulas. Then there are 10 sheets that have 345x8 cells with formulas. The other libraries that I have been testing generally would load/save this to another file in approximately 1-2 seconds. EasyXLS took 12 minutes 44 seconds as well as sucked up about 50% cpu in the process as well as around 200 MB of virtual memory. Is there a way to load / save a spreadsheet that is formula intensive? I realize that this is probably worst case scenario, but is a possible scenario in our environment. Any help / insight would be greatly appreciated.[/list]

Author:  daniela [ Thu Jan 17, 2008 6:17 am ]
Post subject: 

Please send us the xls document that you are trying to load to email address support@easyxls.com.

Page 1 of 1 All times are UTC - 4 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/