Here are a few suggestions:
Detect the lines of code that last longer than the other with the Python's time function.
Generally speaking, PC processors have 4 cores and you can benefit from each of them if you apply multiprocessing with pandas thanks to the multiprocessing library.
Pypy is a very good library to run code very fast, even faster than Cython (...
Why compare them at all?
The four models are tackling different problems. So it seems like you should not compare these models against themselves.
If you had, for example, 3 different models to classify class A, then you could compare these models since they are all trying to solve the same problem.
It is difficult to compare the models A, B, C and D because ...
Without having more context this is how I would approach this -
Assuming there is not meaning to being 'close' in the prediction. I.E, if real 1001 number was 42, then predicting 41 and 99 is just as wrong.
If we assume no stochastic structure to the series, I.E previous number dosnt affect current number I would use the top 5 most frequent numbers as ...