[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
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
Attachment:
cdt.core.tests.patch
Description: cdt.core.tests.patch