Consider this simple matrix number multiplication:

 lth = 200;
 mtx = RandomReal[{0, 1}, {lth, lth}];
 ls = RandomReal[{0, 1}, {lth}];
 
 Et = Function[{t}, Sin[(π t)/20] Sin[2 t]];
 Etc = Compile[{{t, _Real}}, Et[t], 
 CompilationOptions -> {"InlineCompiledFunctions" -> True, 
 "InlineExternalDefinitions" -> True}];


 Table[Etc[t]*mtx;, {t, 0., 20, 0.01}]; // AbsoluteTiming
 (* {0.244659, Null} *)

It seems that this is very slow, compared to matrix vector multiplication:
 
 Table[mtx.ls;, {t, 0., 20, 0.01}]; // AbsoluteTiming
 (* {0.038151, Null} *)

Moreover, the matrix addition also seems to be slow

 Table[mtx + mtx;, {t, 0., 20, 0.01}]; // AbsoluteTiming
 (* {0.153648, Null} *)

So why does the matrix number multiplication and addition so much slower than the matrix vector multiplication, and are there ways to speed up those?

I'm using 10.3 on OS X 10.11.4.