# Speed, Parallel running, and efficiency

## Primary tabs

### Streamlining estimation

If you have a large complex model, it may take hours to run by default. You can often speed up your model by turning off computation of elements that are only needed on a final evaluation, like the Hessian and standard errors.

### Parallel processing

Parallel processing may also help. If available, this is likely on by default. Here's how to do it.

If you have more cores than 1, and OpenMx is not using them, then turning on parallel may help

omxDetectCores() # cores available
getOption('mxOptions')\$"Number of Threads" # cores used by OpenMx

Activate parallel as follows:

mxOption(model= yourModel, key="Number of Threads", value= (omxDetectCores() - 1))

TODO: Add how to turn parallel off
t

### Checkpointing

If your model is having problems reaching a solution, you might want to checkpoint it (save it to disk at intermediate stages).

These checkpointed versions can help diagnose errors, and the process is documented here here