incubator-odf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Svante Schubert <>
Subject Re: ODF Performance
Date Mon, 10 Feb 2014 11:37:37 GMT
Hi Nich,

I am curious about your direct DOM manipulations.
Are those able to replace existing convenient functions?
If so could you perhaps attach your improved solution as a patch to the

Working myself on spreadsheets these days and might help me as well.

Thanks in advance,

Am 10.02.2014 12:03, schrieb Nicholas Evans:
> Thanks for the attention you have brought to this issue Svante.  In the
> meantime, I have written some small utils for myself which drastically
> improve the performance (writing 10000 rows in 3 seconds instead of 70).
> I achieved this by manipulating the DOM directly with the ODFDOM API.
> Perhaps we can think of a way to integrate such utils better into the
> Simple API.  When I have a moment I will share the functions I have written
> (there is actually nothing special about them, they just do simple DOM
> manipulations using the ODFDOM API.)
> Best,
> Nick
> 2014-02-10 10:42 GMT+01:00 Svante Schubert <>:
>> Thank you very much for bringing up a performance comparison, Nick and
>> as well to you Rafael for your suggestions.
>> I have created an issue about the problem and attached Nick's test class.
>> In general we might want to have performance regression tests, which
>> always depend on the machine the test is being executed, therefore some
>> normalization is required beforehand. Some kind of benchmark a test that
>> we do not alter, anything others might use for this kind of purpose.
>> I can give only small assistance here, I am changing my house the next
>> weeks and have little time to spend (aside of my daily work for bread &
>> water).
>> Hope you all are at a start of a great week!
>> Svante
>> Am 31.01.2014 14:31, schrieb Rafael Medeiros:
>>> Suggestions to improve peformance:
>>> 1 - Create cells without informing the style increases the file size,
>>> always tell the name of the style - decreases the file size;
>>> 2 - When was merge, remove the contents of the cell and then do the
>> merge;
>>> Atenciosamente,
>>> Rafael Nunes
>>> I'm free - Linux
>>> Linux User #439174
>>> On Fri, Jan 31, 2014 at 9:25 AM, Nicholas Evans <
>>> wrote:
>>>> Dear ODF users,
>>>> For a project I am working on, I am using the ODF toolkit to create
>>>> spreadsheets that can become rather large (>10 000 rows).  I have
>> noticed
>>>> that as the spreadsheet gets larger, writing the rows becomes very
>> slow.  I
>>>> have put together a class containing 4 different ways of writing 10 000
>>>> rows of 10 columns to a spreadsheet.  The fastest method (using
>>>> getRowByIndex and then getCellByIndex) takes 70 seconds.  The methods
>> that
>>>> use getRowList and getNextRow are much slower, taking about 170 seconds
>>>> each.  The method using the Iterator<Row> seems to freeze for large
>> inputs,
>>>> and doesn't behave as expected for small inputs.
>>>> I would really like to improve this performance.  I think this could be
>>>> done by manipulating the DOM directly.  However, it would great if there
>>>> was a way of using the Simple API that I have overlooked that could
>> help me.
>>>> Does anyone have experience with improving the performance of the ODF
>>>> toolkit in the context of writing rows to an ods spreadsheet?
>>>> Regards,
>>>> Nick

View raw message