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]

Reply via email to