سلام
1. بایت به بایت خواندن مطمئنن کندتر خواهد کرد (مگه اینکه دوستمون از بایت به بایت خواندن منظور دیگه ای دارند)
مثال در C# برای خواندن یک فایل 5MB
روش یک خواندن بایت به بایت (20 ثانیه زمان) البته با توجه به کامپیوتر شخصی خودم
long T1 = DateTime.Now.Ticks;
System.IO.FileStream F = new System.IO.FileStream(@"1.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
byte[] stream = new byte[F.Length];
int count=0;
while (count<F.Length)
{
stream[count] = (byte)F.ReadByte();
count++;
}
long T2 = DateTime.Now.Ticks;
MessageBox.Show((T2 - T1).ToString());
روش دوم خواندن یکجا و بافر کردن زمان (کمتر از یک ثانیه)
long T1 = DateTime.Now.Ticks;
System.IO.FileStream F = new System.IO.FileStream(@"1.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
byte[] stream = new byte[F.Length];
F.Read(stream,0,Convert.ToInt32(F.Length));
long T2 = DateTime.Now.Ticks;
MessageBox.Show((T2 - T1).ToString());
مورد دوم اینکه زبان هیچ تاثیری در سرعت خواندن اطلاعات نداره (اصلا چه ربطی به زبان داره) کامپایلر یک زبان می تونه تاثیر گذار باشه که برای بهبود کار باید قسمت های اصلی را با Assembly نوشت.
نکته مهم هر چقدر می خوای سرعت بالاتر بره واسطه ها(منظور همان کتابخانه) را کمتر کن.