Well, I go for MS...here are results
with MS
00:00:00.0014218
00:00:00.0013840
00:00:00.0014123
00:00:00.0016129
00:00:00.0018564
00:00:00.0034196
00:00:00.0015400
00:00:00.0015265
00:00:00.0016011
directly
00:00:00.0093724
00:00:00.0086874
00:00:00.0086332
00:00:00.0087101
00:00:00.0087691
00:00:00.0088588
00:00:00.0090902
00:00:00.0089308
00:00:00.0087806
00:00:00.0085874
00:00:00.0087815
00:00:00.0090007
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
string path = @"D:\american.gxt";
byte[] data = File.ReadAllBytes(path);
MemoryStream ms = new MemoryStream(data);
BinaryReader br = new BinaryReader(ms);
Random r = new Random();
int length = (int)br.BaseStream.Length;
for (int a = 0; a < 10000; a++)
{
br.BaseStream.Position = r.Next(0, length);
}
sw.Stop();
richTextBox1.AppendText(sw.Elapsed.ToString()+"\r\n");