PDA

View Full Version : به طول انجامیدن بعضی از پردازش ها



armin001
دوشنبه 10 مهر 1391, 11:15 صبح
درود!
اول بگم : عنوان پرسش ربطی نداشت چیزی نگینا
میخواستم بدونم چرا وقتی یه فایل متنی سنگینو با کد system.io.file.readalltext میخونیم سریعتر از همون کار بصورت کد نویسیه؟؟؟
لطفا جواب بدید
بدرود.

armin001
دوشنبه 10 مهر 1391, 20:54 عصر
دوستان کسی نمیتونه جواب بده؟؟؟!!!!!

مهرداد صفا
چهارشنبه 12 مهر 1391, 00:56 صبح
دوستان کسی نمیتونه جواب بده؟؟؟!!!!!
سلام
به خاطر اینکه سوالتون کمی گنگه.
خوب ReadAllText هم کد نویسیست.
اگر منظورتون از
همون کار بصورت کد نویسیه؟؟؟ خواندن فایل به صورت بایت به بایت یا خط به خط باشد خوب به نظر من:
اول اینکه متود فوق به صورت کامپایل شده داخل اسمبلی وجود دارد و سرعت کده کامپایل شده با کدی که در حال debug شدن است متفاوت است.
در ضمن احتمالا تابع ReadAllText به زبان سطح پایینتر و به صورت بهینه تر نوشته شده باشد که توانایی اجرا با سرعت بیشتر را داشته باشد.
در تابع ReadAllText برنامه یک بار با هارد دیسک تماس میگیرد و تمام اطلاعات را در یک آرایه میخواند ولی در هر بار که ما میخواهیم یک بایت را در یک حلقه بخوانیم حد اقل یک بار باید شمارنده یا شرط حلقه و احتمالا خصوصیات stream مثل position چک شود که در تعداد تکرار بالا میتواند در سرعت اجرای برنامه موثر باشد.