Community
Participate
Working Groups
The shared object API has some unnecessary synchronization and tracing that significantly reduced performance. These should be eliminated.
Created attachment 131007 [details] Removed a few trace messages in performace critical parts of the code
The patch removes a few trace messages in performance critical parts of the code (sending/receiving messages). In ADDITION we should remove the synchronized keyword from the SimpleFIFOQueue#isStopped() method. If we want to prevent the (harmless) race condition under any circumstances we should change the declaration of 'stopped' to Boolean and synchronize on that object.
Will apply asap
Comment on attachment 131007 [details] Removed a few trace messages in performace critical parts of the code Applied and released to HEAD these trace removals. Also removed synchronized keyword from SimpleFIFOQueue.isStopped().
Thanks Florian. Applied the trace removals and the SimpleFIFOQueue.isStopped changes. Resolving this bug. If you wish to reopen and attach other changes based upon profiling please do so.
Doesn't it make sense to move SimpleFIFOQueue into o.e.ecf.util in the core bundle? org.eclipse.ecf.internal.provider.jmdns.SimpleFIFOQueue is an exact copy of org.eclipse.ecf.core.sharedobject.util.SimpleFIFOQueue
(In reply to comment #6) > Doesn't it make sense to move SimpleFIFOQueue into o.e.ecf.util in the core > bundle? org.eclipse.ecf.internal.provider.jmdns.SimpleFIFOQueue is an exact > copy of org.eclipse.ecf.core.sharedobject.util.SimpleFIFOQueue > I suppose you are right about moving SimpleFIFOQueue, but for Galileo our core and filetransfer bundles are now under API freeze (since they are added to SDK as part of p2). Maybe we can fight the fight to get it into 3.1 (since it's just a move), but I don't think we can get this changed for Galileo (based upon how strict the SDK/platform folks have been about even trivial, unused API changes...e.g. see bug #269395.
Hmm, maybe it is time to branch off 3.0 to let development continue that does not target Galileo.
(In reply to comment #8) > Hmm, maybe it is time to branch off 3.0 to let development continue that does > not target Galileo. > Given the maintenance difficulty of maintaining two active branches with CVS, I would like to wait a little longer (approx beg of May). In a better world (i.e. not CVS) this would be fine (looking forward to git), but our releng and maintenance resources are already sort of stretched with Galileo requirements.