Performance
What a typical download time for a web page created using SpreadsheetConverter?
We have put a lot of effort into making sure that the web pages generated by SpreadsheetConverter are small in size, perform fast calculations, and use as little memory as possible. This provides the end-users with quick download times and good interactivity. A web page, created from a spreadsheet with 5-10 input cells and 5-10 calculated values, will be between 8-20 Kb in size and will be downloaded by a modem user within a few seconds. For a user with a broadband connection, the same web page will be downloaded instantly.
That means that within seconds, the end-user sitting at his browser can start using your spreadsheet calculations.
How fast is recalculation in SpreadsheetConverter?
Our investigations show that typically you can have up to 200 input cells and 200 calculated values, and the recalculation will be instant. That means that it isn’t the recalculation that is the bottleneck, but instead how to present all of this information to the end-user in a single web page.
200 + 200 is of course an average value, it depends on the complexity of the formulas and the built-in functions that are used. Also, rendering speed (the time it takes to draw an HTML-page in the browser window) and the speed of JavaScript differs a lot between different browsers.
(These timings were done 2002)
How can I improve recalculation speed?
The solution is to reduce the number of calculated values shown on the web page.
Very often 80% of the time is spent updating the values the user sees on the web page, and only 20% is spent on the actual calculations. By hiding large parts of the spreadsheet, these values will not be visible on the web page and no time is wasted on updating them. Even if you hide cells, the calculations in them will be used if they are needed for the values visible on the web page.
Why does SpreadsheetConverter recalculate as soon as I press tab?
Since recalculations are almost instant, we would like to give as much feedback to the end-user as possible.
Version 2: If you do not want automatic recalculation, just remove “checked” from the checkbox called ‘automatic_recalc’ in the SpreadsheetConverter wizard.
Version 3 and 4: Set Automatic Recalculation to disable in the wizard.
Is SpreadsheetConverter scalable? Our site has hundreds of simultaneous visitors?
SpreadsheetConverter is as scalable as any static HTML-page. That means that if your current web server can support hundreds or thousands of simultaneous users, SpreadsheetConverter will also be as scalable. SpreadsheetConverter does all calculations on the client, the server is not involved. Once the web page is downloaded, the server is not needed. A web page created with SpreadsheetConverter is typically only 15-25 Kbytes, i.e. the same size of any HTML-page.
Does SpreadsheetConverter use a Java Applet or an ActiveX-component?
No, SpreadsheetConverter only uses the JavaScript-engine that is included in all modern browsers.
There is nothing to download for the browser except a standard web page.
Does SpreadsheetConverter support full row/column syntax such as A:A or 8:8?
Yes, but is not recommended. Internal arrays will get unnecessary large and the conversion takes longer time.
How big spreadsheet can SpreadsheetConverter convert?
We do not recommend more than 40,000 active cells. After that the generated code gets rather large and slow.
How can I speed up recalculation?
A few tips: LOOKUP-operations should always work with ordered search
Make the ranges as small as possible, A1:A100 is better then A1:A1000, and A:A is worst
Make your lookup ranges only contain numbers if possible, use #N/A or 0 for error entries, not strings like 'Error'
Have as few in and out-fields as possible. The fields takes long time to update
Speed differs a lot between browsers, IE6 is the fastest and IE4 and NS4 are the slowest.
We are optimizing the code generated in the next versions, so one alternative is to start with ASP, and retest the speed again in a few months and maybe switch to HTML.
How do I enable compression on Apache?
By enabling compression, the amount of data you download will be 1/10. All modern browser support compression.
http://www.schroepl.net/projekte/mod_gzip/index.htm
Why is ordered lookup much faster?
When you have the range ordered, looking through 800 rows only requires 10 comparations (since 210 = 1024 which is larger than 800). The technique used is called binary search.
If you do sequential search, you have to make 400 comparations in average (800/2=400).
Thus, for larger tables, ordered lookup will be 100 times faster.
What are the best ways to speed up calculation?
Reduce the size of the user interface, ask the user less, show the user less.
If you have big vlookups, make sure that the data is ordered. Then lookup will go much faster.
If this doesn't help, the server version are faster. However, currently both ASP.NET and Java have size limitations. ASP has no limitations, but isn't as fast as ASP.NET (but still much faster than JavaScript).
It takes long time to download and show my web page?
If the loading is the slow part, there is not much SpreadsheetConverter can do before the page is loaded. You however can configure your webserver to compress the data, this is both supported by IIS and Apache and by all modern browsers. It will reduce the amount of data sent to one 5th. (I do not understand why this isn't the standard, since it is automatically disabled when the browser is old. And network is much more important and expensive than a cpu-cycle. The compression method is either deflate or gzip.)
Read more at
http://www.fogcreek.com/FogBugz/docs/50/Articles/EnablingHTT PCompression.html
http://www.microsoft.com/resources/documentation/iis/6/all/p roddocs/en-us/comp_cust.mspx
