[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-dev] CDT performance: JobManager delays.
|
Bogdan,
Thank you for comments. It was my mistake (with zip's in a
patch).
Now I have added zip files as separate
attachments.
But, really, these archives are not directly
related to proposed fix.
2.
Test case with necessary sample data :
This test does not affect real CDT functionality.
Moreover, it is not included to CDT test suite,
to avoid unexpected time losses duriung non-regression
testing. But, I think it will be useful to
have some formalized mean for performance
measurement...
----------------------------------
With best regards, Oleg
Krasilnikov
Software designer, Eclipse team.
Intel corp.
+7 8312 162
444 ext. 2587
(Russia, Nizhny Novgorod)
Hi Oleg - I tried to take a look at your patch over the weekend but
couldn't get all of it as you attached some binary files. Can you resend the
patch with the zip files attached separately? (The Eclipse patching
tool doesn't handle binaries).
Your idea is correct - in fact, the best
thing to do is to get rid of all the timeouts in the JobManager and replace them
with wait()-notify(). Regards, Bogdan
"Krasilnikov, Oleg"
<oleg.krasilnikov@xxxxxxxxx> Sent by: cdt-dev-bounces@xxxxxxxxxxx
12/22/2005 11:19 AM
Please respond
to "CDT General developers list."
<cdt-dev@xxxxxxxxxxx> |
|
To
| "CDT General developers
list." <cdt-dev@xxxxxxxxxxx>
|
cc
| "Voronin, Mikhail"
<Mikhail.Voronin@xxxxxxxxx>, "Sennikovsky, Mikhail"
<mikhail.sennikovsky@xxxxxxxxx>
|
Subject
| RE: [cdt-dev] CDT
performance: JobManager delays. |
|
I
have attached a patch which adds simple indexing performance test
to
org.eclipse.core.tests.
This test can be used, in particular, to check
a gain of modification
described
below.
-----------------------------------
With best regards, Oleg
Krasilnikov
Software designer, Eclipse team.
Intel corp.
+7 8312 162
444 ext. 2587
(Russia, Nizhny Novgorod)
-----Original
Message-----
From: cdt-dev-bounces@xxxxxxxxxxx
[mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Krasilnikov, Oleg
Sent:
Thursday, December 22, 2005 7:13 PM
To: CDT General developers list.
Cc:
Voronin, Mikhail; Sennikovsky, Mikhail
Subject: [cdt-dev] CDT performance:
JobManager delays.
Importance: High
Hi all.
Currently,
JobManager.run() (see code below) waits 50 ms after _every_
background job
finished.
May be it's reasonable in some cases (allow concurrent processes
to
run), but during indexation
we are spending this time after each
separate file processed !
When I have commented this delay (as shown
below), indexing process has
finished much faster.
Saved time depends of
project, but it is significant in any case:
~25% on "C" Midninght
Commander source.
~45-50% on "C++" Mozilla source
It seems to be we
can improve indexing performance either by removing
this delay at all,
or
by decreasing waiting time as possible.
Comments
?
------------------------------------------------------------------------
----------
package
org.eclipse.cdt.internal.core.search.processing;
...
public abstract class
JobManager implements Runnable {
...
public void run() {
...
moveToNextJob();
//
if (this.awaitingClients == 0)
{
//
Thread.sleep(50);
//
}
...
------------------------------------------------------------------------
--------
Some
comments:
- indexing of each translation unit is separate background
task;
- "awaitingClients" variable is never changed during
indexing.
It's modified only by "performConcurrentJob()", but this
method
is not involved to indexing process.
-----------------------------------
With best regards, Oleg
Krasilnikov
Software designer, Eclipse team.
Intel corp.
+7 8312 162
444 ext. 2587
(Russia, Nizhny
Novgorod)
_______________________________________________
cdt-dev mailing
list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev
mailing
list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev