## Timings

Since: 3.0
Last Modified: $Date: 2007/05/23 13:19:14 $

This section contains various timing results and comparisons.

### Overview

The purpose of this section is to provide a small set of tests that can be used to benchmark the Eclipse CVS client. The areas tested are:

1. Checkout
2. Synchronizing
3. Updating

### Setup

The following should be considered when obtaining timings:

- The Progress view in verbose mode can add 20% or more to times. In regular mode, it can still add a bit to the time. For these timings, the view was open but hidden.
- The Console view can add as much as 20% to times. For these tests, the console was turned off entirely.
- Running an Eclipse operation several times will "warm-up" the code path due to JIT. The timings for Eclipse were usually the second or third timing obtained.

The following numbers were obtained on a 2.8GHz PC running GTK, Sun 14.2 with autobuild off and operations run in the foreground. The project used was org.eclipse.jdt.tests.refactoring. It has a large number of folders and files which give interesting times. The date the timings were obtained were May 31st, 2004 so similar numbers can be obtained for comparison using the project snapshot at that time (which can be obtained using a Date tag).

### Checkout

Checkout of org.eclipse.jdt.tests.refactoring as of 2004/05/31. The timings are in "mm:ss" and were obtained by observation (i.e. stopwatch).

- Eclipse 3.0 over pserver: 3:00 to 3:30 (several timings)
  - Timings increased slightly with progress view visible and considerably with progress view in verbose mode.
- CLI over pserver: 3:00 (1 timing)

### Synchronize

Synchronizing of org.eclipse.jdt.tests.refactoring as of 2004/05/31. The timings are in "mm:ss" and were obtained by observation (i.e. stopwatch).

#### Synchronize with no changes

- Eclipse 3.0 over pserver: 0:45
- CLI over pserver: 0:42 ("cvs -n update")

#### Synchronize with all outgoing, no incoming

- Eclipse 3.0 over pserver: 1:00
- CLI over pserver: 2:20 ("cvs -n update")

#### Synchronize with incoming changes

Incoming changes were simulated by loading version v20040106 and then removing the tag (using a special utility action). This resulted in 393 incoming changes.

- Eclipse 3.0 over pserver: 0:55
- CLI over pserver: 0:45 ("cvs -n update")

The timing for Eclipse also includes the status command to fetch the revisions for the 393 incoming changes.

### Update

These timings were obtained using Team>Update for Eclipse and "cvs update ." for the CLI.

#### Update with no changes

- Eclipse 3.0 over pserver: 1:15, 1:25 (2 timings)
- CLI over pserver: 1:15 ("cvs update")

#### Update with all false outgoing changes (using touch)

- Eclipse 3.0 over pserver: 2:20
- CLI over pserver: 2:20

#### Update with incoming changes

Incoming changes were simulated by loading version v20040106 and then removing the tag (using a special utility action). This resulted in 393 incoming changes.

- Eclipse 3.0 over pserver: 1:55
- CLI over pserver: 1:55 ("cvs -n update")