Profile likelihood confidence intervals The theory behind profile likelihood (PL) confidence intervals (CIs) is clear to me. (See here for example).
SAS is surprisingly quick in calculating the PL CIs for all the covariates in a given model. Therefore I was wondering if there is another way of calculating PL CIs that does not require the time-consuming loop of maximizing the likelihood (over the nuisance parameters) given different fixed values of the parameter of interest.
Example: I run a logistic regression in SAS on ~43000 subjects with 10 covariates (+ the intercept). It took 0.6 seconds to fit this model without asking for PL CIs, and only 3 seconds when I required also the PL CIs for all the 10 covariates (option clodds=pl in proc logistic). In Stata, the same model was fit in 0.35 seconds (without PL CIs) and in 10 seconds when asking the PL CIs for just one of the 10 covariates in the model (I used the pllf command, which iteratively fixes values of the parameter of interest and maximises the likelihood over the remaining ones).
 A: Very good question. 
In this link it is explained that SAS uses a numerical approximation (which basically consists of a modification of the Newton-Raphson algorithm)

Setting this option to both produces two sets of CL, based on the Wald test and on the profile-likelihood approach. (Venzon, D. J. and Moolgavkar, S. H. (1988), “A Method for Computing Profile-Likelihood Based Confidence Intervals,” Applied Statistics, 37, 87–94.)

The link to the paper in JSTOR is here, and the abstract is shown below

The method of constructing confidence regions based on the generalised likelihood ratio statistic is well known for parameter vectors. A similar construction of a confidence interval for a single entry of a vector can be implemented by repeatedly maximising over the other parameters. We present an algorithm for finding these confidence interval endpoints that requires less computation. It employs a modified Newton-Raphson iteration to solve a system of equations that defines the endpoints.

According to this abstract, it seems like this is the secret of the speedy calculation.
