Off[General::spell1];
Clear[Horner,P0,t,x];
Horner[P0_,t_] := 
Module[{c,P,k,n,X},
  Set@@{P[x_],P0};
  X = Variables[P[x]][[1]];
  c = CoefficientList[P[x],X];
  n = Length[c]-1;
  poly = c[[n+1]];
  For[k=n-1,0<=k,k--,
    poly = c[[k+1]] + poly t ];
  Return[poly]; ];

Clear[P,x];
P[x_] = 3x^3 - 2x^2 + 5x - 7

Clear[Q,x]; 
Q[x_] = Horner[P[x],x]

Clear[P,Q]
P[x_] = x^5 - 6 x^4 + 8 x^3 + 8 x^2 + 4 x - 40; 
Q[x_] = Horner[P[x],x];

Print[Q[x]]

V = Table[i,{i,1,200}];
Ptimeset = Timing[P[V]];
Qtimeset = Timing[Q[V]]; 
Ptimeset[[1]]
Qtimeset[[1]]

V = Table[i,{i,1,400}]; 
Ptimeset = Timing[P[V]];
Qtimeset = Timing[Q[V]];
Ptimeset[[1]]
Qtimeset[[1]]

V = Table[i,{i,1,800}]; 
Ptimeset = Timing[P[V]];
Qtimeset = Timing[Q[V]];
Ptimeset[[1]]
Qtimeset[[1]]