Hi Sebastien
I now have a pretty stable working prototype of C++ DsgeLikelihood suitable
for initial indicative performance tests.
Unfortunately, during the lengthy debugging process, I realised I had to
take out some performance improvers built as overloads for the GeneralMatrix
copy() method, originally for improving the Kalman Filter performance, since
they were breaking (now integrated) K-order-perturbation and hence I will
need to devise and develop some alternative performance booster methods.
However, some very rough performance comparison tests with fs2000 model even
with such degraded KF indicate to be pretty promising and worth of the
further effort: whilst 1000 loop calling Matlab DsgeLikelihood.m (all with
same parameters) takes randomly somewhere between 40 and 50 sec, calling the
equivalent CalcLikelihood method from within parent C++ mexFunction
(together with constructing its parent class once as it would be done by the
C++ estimation) takes approx. 10 sec (thus, less than 1/4th of time). This
was run on an old and slower machine but the relative advantage is pretty
portable. That, (together with some additional performance boosting) may
result in a rather substantial time saving for whole MLE/MCMC estimation!
Best regards
George