rolandschulz / PTP

Eclipse Parallel Tools Platform
http://www.eclipse.org/ptp/
6 stars 2 forks source link

Test and Improve Sync Efficiency #7

Open eblen opened 13 years ago

eblen commented 13 years ago

Test the efficiency of sync, especially on large projects. Improve if needed. Some possible strategies are:

1) Caching and combining commits 2) Not sync'ing both directions every time. 3) Not sync'ing all files (related to not sync'ing binaries) 4) Allowing user to adjust frequency of sync'ing 5) Using Git more efficiently, such as avoiding walking the file tree

rolandschulz commented 13 years ago

What improvements are high priority? I don't think all are that important. Only those which really slows it down significantly in realistic use scenarios are high priority as far as I can see.

Does high priority mean it has to get done before the indigo release?

eblen commented 13 years ago

No, not necessarily. The priorities are just a rough guide for sorting issues.

eblen commented 13 years ago

I labeled this issue challenging because making sync efficient could become quite involved. It is high priority because if sync is not efficient, then the package may be unusable. However, it is possible that only a few simple changes are needed to make it practically efficient. Only by testing against large projects will we know for sure. If that happens, though, we can bump this issue down.

rolandschulz commented 13 years ago

that's true. We should check the performance. But we have clear bugs, which we can hopefully address before the release. I think this should have priority. Thus I'll change it to Medium

eblen commented 13 years ago

Bumping up in priority, as I think we should look at this for SR1.

eblen commented 13 years ago

I just tried a project with about 800 files. On creation, sync appears to go into an infinite loop. On further inspection, though, it seems that every single file is triggering an unnecessary sync when it arrives on the local side. Doing all of these syncs takes a long time.

eblen commented 13 years ago

This turns out to be an issue only with the new sync code. For both old and new codes, syncs are canceled if other syncs are queued to be run. In the new code, though, I have added threading rules that do not allow syncs to execute simultaneously. Thus this optimization no longer helps. I'll look into it...

eblen commented 13 years ago

This most recent problem has been fixed, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=357561. So we are back to where we were before.