Skip to main content



      Home
Home » Eclipse Projects » Eclipse Platform » Job.schedule( ) performance problem
Job.schedule( ) performance problem [message #333425] Wed, 10 December 2008 12:32 Go to next message
Eclipse UserFriend
I am a performance analyst for an adopting product and am analyzing high
intermittent lock contention. One source of the contention appears to be
from jobs scheduling themselves with a high frequency (which leads to the
JobManager obtaining its global lock every time).

It seems that most of the calls to schedule() could be basically free if
the schedule method only actually made the call to the JobManager if the
job's getState method returns Job.NONE or Job.RUNNING.

I know that the Job.getState method's javadoc declares it to be inherently
volatile, however, if the job's state was SLEEPING or WAITING "recently"
(meaning when the return value was set, so it was definitely in this state
after the client's request to schedule) we know that scheduling is
pointless since the JobManager does nothing.

Does anyone see any problem with this approach? It would solve a lot of
the strain on the Jobs locking. If not, I will go ahead and open a
bugzilla for the issue.
Re: Job.schedule( ) performance problem [message #333450 is a reply to message #333425] Thu, 11 December 2008 12:02 Go to previous message
Eclipse UserFriend
Such analysis is definitely of interest, but the platform mail list or
bugzilla entry is more appropriate.

Randall Theobald wrote:
> I am a performance analyst for an adopting product and am analyzing high
> intermittent lock contention. One source of the contention appears to be
> from jobs scheduling themselves with a high frequency (which leads to
> the JobManager obtaining its global lock every time).
>
> It seems that most of the calls to schedule() could be basically free if
> the schedule method only actually made the call to the JobManager if the
> job's getState method returns Job.NONE or Job.RUNNING.
>
> I know that the Job.getState method's javadoc declares it to be
> inherently volatile, however, if the job's state was SLEEPING or WAITING
> "recently" (meaning when the return value was set, so it was definitely
> in this state after the client's request to schedule) we know that
> scheduling is pointless since the JobManager does nothing.
>
> Does anyone see any problem with this approach? It would solve a lot of
> the strain on the Jobs locking. If not, I will go ahead and open a
> bugzilla for the issue.
>
>
>
Previous Topic:[Databinding} Mess with tables/ Validation in structured Beans
Next Topic:Managing fonts (for print-output)
Goto Forum:
  


Current Time: Mon Apr 28 03:47:52 EDT 2025

Powered by FUDForum. Page generated in 0.02852 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top