Restartable Bootstraps
Because bootstrap estimates can take so much computation, it is important 
that long bootstraps be restartable with minimal waste of computer and 
user time. Stata recognizes this and offers the -saving- option on the 
bootstrap command. In the reference manual this option is correctly 
rationalized with the following comment:
     This option will allow recovery of partial results
     should some other software crash your computer.
These partial results can be combined to reproduce exactly the results 
expected from an uninterrupted run.
I would suggest dividing the bootstrap into a number of pieces, and saving 
the coefficients from each replication in a separate file. For example 
this code obtains 500 replications in 10 blocks:
  forvalues i=1/10 {
    set seed 123`i'456
    quietly bootstrap, reps(50) saving(file`i'):  reg y x
    }
  }
If the job is interrupted at least some of the replications will have 
completed and need not be rerun. Setting the seed insures that each 
bootstrap is independent and reproducible. Once all the replications are 
completed it is possible to combine the replications and run the -bstat- 
command to obtain the bootstrap estimate.
  forvalues i=1/10 {
    append using file`i'
  }
  bstat in 1/L
A do file  that somewhat expands on this method 
also shows how to make the job restartable with no manual edit. It is also 
possible to use this method to divide a bootstrap across multiple computers, 
and thereby obtain results in less wall-clock time, if one has multiple 
computers, or does not have access to statamp.
The overhead of saving and appending is minimal.
It is likely the "saving" option is not more widely used because the 
-bstat- command is not mentioned in the -bootstrap- documentation, but
-bstat- is fully documented and supported by Statacorp. The -in- qualifier 
of the -bstat- command is a bit surprising, but seems to be required or 
some replications will be omitted from the results.
Roodman's Boottest
David Powell reccomends -boottest.ado- for its speed, but it does have a 
memory leak. You should add -clear mata- after each invocation.
Last update 8 March 2017 by drf