I am seeing very little diffference between versions 9 and 10 on 64 bit platforms. Likewise on the 32 bit machine I checked.
To elaborate on the point made by Ilian, enlarging the size of the integers to the 32-64 bit range shows a markedly different behavior.
Clear[data];Clear[data];
now = SessionTime[];
abs = AbsoluteTiming[
tim = Timing[
data = Reap[
Do[Sow[Partition[Range[i^2]^2,i]], {i, 1000}]
];
];
];
ver = StringTake[$Version, StringPosition[$Version, ")"][[1, 1]]];
Print[ver, " Session=", SessionTime[] - now, " Absolute=", abs[[1]],
" Time=", tim[[1]]];
ByteCount[data]
Clear[data
]
In versions 9 and 10 this takes around 6 seconds. In version 8 it takes 120 seconds.