For those who are interested, @tadej , @Erik_Strumbelj , @seantalts and I have been working a bit more on the GLMs and have performed some end-to-end benchmarks, comparing the new GLMs (named lr_glm in the graphs; 2 slightly different versions for linear regression) to the old fastest Stan implementation without the GLM primitives (named lr_basic in the graphs).
We have fit the regression coefficient and intercept and, in case of neg binomial and linear regression, the scale parameters on dataset that was randomly generated from a corresponding GLM with a fixed value for those 2-3 parameters, using NUTS with a fixed number of iterations.
The computation time is plotted for 10, 100 and 500 parameters for a range of the size n of the dataset.
(Apologies for the ridiculous regression lines fit through the points. I am new to ggplot.)
Basically, the lesson seems to be that the new GLMs become more worthwhile if one has a larger number of parameters.
We hope that this could be complementary to the data-parallelism that we could exploit using a future GPU implementation.
linear 10 - 100 - 500 param.pdf (28.0 KB)
logistic - Rplots - 10 - 100 - 500 param.pdf (18.3 KB)
negative binomial - Rplots - 10 - 100 - 500 param.pdf (18.3 KB)
poisson - Rplots - 10 - 100 - 500 param.pdf (23.7 KB)