Hi Erdem,
I guess in this case the parallelization is the problem. If you try the same without parallelization, it runs much faster:
ntimes = 2000;
pos = 10;
px = Range[0, 1, 1/pos];
f = x^2;
intp = ConstantArray[0, ntimes];
AbsoluteTiming[Do[fint = f /. x -> px;
intp[[i]] = fint.px;, {i, 1, ntimes, 1}];]
intT = Total[intp]
(* Out: {0.046800, Null} *)
(* Out: 6050 *)
Futhermore you should be aware of the fact that you are calculating using analytical (exact) expressions:
px
(* Out: {0,1/10,1/5,3/10,2/5,1/2,3/5,7/10,4/5,9/10,1} *)
If you are interested in a numerical value only then you should use those numerical values from the beginning, e.g. by defining:
px = Range[.0, 1.0, 1/pos];
This (seemingly tiny) change can/will speed up your code considerably.
Here is a nice link for you.
Regards -- Henrik