I'm told the the purpose of diagonalisation is to bring the matrix in a 'nice' form that allows one to quickly compute with it. However in writing the matrix in this nice diagonal form you have to express it w.r.t. a new eigenvector basis. But you'll probably want the answer of your matrix multiplication written w.r.t. to the original basis, so you'll have to do a not-nice matrix multiplication regardless. Example of what I mean:
I want to compute $Ax$, where $A$ and $x$ are given w.r.t. the standard basis ($\epsilon$). However $A$ is quite large and annoying to compute, so I calculate $A_E$ which is a diagonal matrix written w.r.t. the eigenvector basis. But to compute $Ax$ using this matrix, I still have to compute the following: $$ _\epsilon S_E A_E\ _E S_\epsilon$$ Where the $S$ are basis-transition matrices, and those are quite likely to be at least as ugly as our original $A$, so I don't see what we're gaining here. If anything this seems to be a lot more work.
The only thing I can imagine being easier this way is computing something like $A^{10000}x$ or something, because $A^{10000}$ has a really easy form when $A$ is a diagonal matrix, while this would take forever if $A$ is not a diagonal matrix. But is this really the only purpose of diagonalisation; to compute things like $A^{10000}x$?