To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=42221
User as changed the following:
What |Old value |New value
================================================================================
Assigned to|as |mmeeks
--------------------------------------------------------------------------------
------- Additional comments from [EMAIL PROTECTED] Tue Feb 8 22:24:13 -0800
2005 -------
AS->PL: My fix was not related to speed up calc loading only. We (MHU and I)
adressed the following problems:
a)
decreasing the amount of system calls. The old implementation used clock()
provided by the system header <time.h> to check weather a reschedule call
should
be done or not. And this check (which can be very expensive on unix) was done
for
every of the more then 65.000 setValue() calls from the calc filter.
=> Now we use a timed-wait-condition to prevent such calls.
b)
The old implementation supressed any reschedule call for the first second of
the
live time of a progress. After that 1 second EVERY setvalue() call (... >65.000
for
calc ...) forces 1 Application::Reschedule(). So there was no relation between
the
count of Reschedule() and a special time frame.
=> Now Reschedule() is bound to a special time frame. It's called every 25 ms
...
~40 times per second and does not depend from count of setValue() calls
anymore. From my point of view that should be enough. Because on the other side
we try to speed up loading of documents ... not to increase the count of
executed
events.
AS->mmeeks: Sorry - but your patch isn't the right one.
Pleae have a look on the actual master version of the
statusindicatorfactory.cxx file
[rev. 1.13]. As you can see ... the methods clock(), impl_get10ThSec() are not
used any longer.
>From now the count of Reschedule() within the progress should be fix and not
depending from the using of such progress.
Further it's not right to stop the load process and execute ALL events, which
are
currently in the queue. Because the main point is: we should use all cpu time
for
the loading process ... and not for the execution of e.g. repaint events. On
the other
side you should be aware, that the progress implementation uses Reschedule()
for
one purpose only: We need a relaiable office during loading/saving(!) of large
documents ... so you can work with other documents inbetween. You cant speed
up the pure loading time of one special calc document ... without affecting
this
balanced feature.
What can we do? If you wish to speed up loading of calc documents ... please
try
to find the problem inside the calc module. If they call setValue() for every
cell ...
find a way how it can be made more intelligent there .-)
BTW: I know that the calc module has implemented it's own time-check
mechanism using system calls and further the have no well known range for it's
used progress ... I've tried to fix that within the same cws, where I've fixed
my
progress implementation ... but there was not enough time doing so before
"Beta".
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]