I am still seeking the underlying cause of this timing discrepancy, which I am able to reproduce in version 7, but for now I observe that it does not happen outside of `Table`: M = Partition[Range@10000000, 1000]; V = Range[10000] - 1; Prepend[M, V]; // Timing // First Prepend[M, V]; // Timing // First Prepend[M, V]; // Timing // First Prepend[M, V]; // Timing // First > 0.109 > 0.109 > 0.11 > 0.109 On the other hand using `AbsoluteTiming` yields a first result that is *slower*: M = Partition[Range@10000000, 1000]; V = Range[10000] - 1; Prepend[M, V]; // AbsoluteTiming // First Prepend[M, V]; // AbsoluteTiming // First Prepend[M, V]; // AbsoluteTiming // First Prepend[M, V]; // AbsoluteTiming // First > 0.1560089 > 0.1090063 > 0.1050060 > 0.1060061 I think this *might* be explained by the system being "primed" by the first operation, with operands maximally cached, etc. When using `AbsoluteTiming` in `Table` the first result is about the same, but all the rest are about twice as large (slow). ---------- I think the first Timing on each line is inaccurate, or at least is [measuring something else.][1] This sounds familiar to me actually, but I can't quite recall now. Nevertheless if I enter e.g. ten lines of: Prepend[M, V]; // AbsoluteTiming // First Most timings are about 0.1 second, yet the total "wall clock" time is about *two* seconds, not one. [1]: http://mathematica.stackexchange.com/a/2267/121