number of ops: 9
compiled vars: !0 = $i
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
2 0 E > ASSIGN !0, 0
3 1 > JMP ->6
4 2 > CONCAT ~2 !0, '%0A'
3 ECHO ~2
5 4 POST_INC ~3 !0
5 FREE ~3
3 6 > IS_SMALLER_OR_EQUAL ~4 !0, 10
7 > JMPNZ ~4, ->2
6 8 > > RETURN 1
اگر به opcodeهای ساخته شده ی دو الگوریتم نگاه کنید، میبینید که از نظر مفسر هر دو الگوریتم به یک شکل دیده شده. بنابراین تفاوت خاصی بین دو الگوریتم وجود نداره و اگر هم گاها تفاوتی ایجاد بشه(بخاطر شرایط سرور) بسیار ناچیز و در حد هزارم ثانیه هست و قابل چشم پوشی است.(تایم اجرای دو کد رو گرفتم)
در گوگل هم میتونید سرچ بزنید در موردش بحث شده.
پ.ن: بدنیست شماره ی لاین هم به syntax highlighter اضافه بشه.
بهترین پاسخ
محسن موحد۱۹ اسفند ۱۳۹۸، ۱۹:۲۹
البته استاد در هنگام تدریس فرمودند که سرعت پردازش در for each بیشتر هست