cylc/cylc — pull request #344 by arjclark (2013-03-11 11:31:10+00:00)
Title: Dont search the db on validate

Change requested by @matthewrmshin.

This ties in with pull request cylc/cylc#340

`cylc-validate` can take a long time on particularly large suites. One factor in this is the select statements used to assign submit numbers etc. in the `__init__` of the task proxies. Since the database is not needed for validation purposes it can be bypassed and dummy values used instead when validating.

This change adds a validate flag to the task proxy which is altered on init to `True` by the validate routine.

In practice, this leads to time reports for `cylc validate` performance as follows:

Without the bypass:
```
real 0m38.487s
user 0m28.236s
sys 0m1.970s
```

With the bypass:

```
real 0m25.466s
user 0m23.972s
sys 0m0.203s
```

Values are typical on my machine over 10 consecutive `time` commands for each case on a suite with 1000+ tasks (an actual suite from one of our users). Under `rose`, we carry out a validate before running the suite so reducing this lag to get started is desirable.

Passes the cylc test battery.