|
مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - نسخهی قابل چاپ
|
مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - hosshah - 19 بهمن ۱۳۹۲ ۰۸:۱۶ ب.ظ
سلام و رحمه الله
به نظرتون این سوال ایراد نداره؟؟؟ کلیدش گفته ۴ ولی من قانع نمیشم
سپاسگزارم
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - fulgent - 19 بهمن ۱۳۹۲ ۰۸:۳۰ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۸:۱۶ ب.ظ)hosshah نوشته شده توسط: سلام و رحمه الله
به نظرتون این سوال ایراد نداره؟؟؟ کلیدش گفته ۴ ولی من قانع نمیشم
سپاسگزارم
کامپایلر A برای اصلاح توصیف کننده در زمان اجرا محاسباتی را انجام می دهد که باعث می شود فضای اشغالی آن از B بیشتر شود.
کامپایلر B در زمان کامپایل به اصلاح توصیف کننده های آرایه می پردازد و همچنین تعداد کد سه آدرسه ی تولید شده توسط کامپایلر B بیشتر از A است. در نتیجه کد تولید شده توسط B در مجموع برای آماده سازی توصیف کننده ی آرایه و ترجمه ی هر ارجاع، زمان بیشتری می گیرد و کد تولید شده A سریع تر است.
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - hosshah - 19 بهمن ۱۳۹۲ ۰۸:۴۴ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۸:۳۰ ب.ظ)fulgent نوشته شده توسط: کامپایلر A برای اصلاح توصیف کننده در زمان اجرا محاسباتی را انجام می دهد که باعث می شود فضای اشغالی آن از B بیشتر شود.
کامپایلر B در زمان کامپایل به اصلاح توصیف کننده های آرایه می پردازد و همچنین تعداد کد سه آدرسه ی تولید شده توسط کامپایلر B بیشتر از A است. در نتیجه کد تولید شده توسط B در مجموع برای آماده سازی توصیف کننده ی آرایه و ترجمه ی هر ارجاع، زمان بیشتری می گیرد و کد تولید شده A سریع تر است.
تشکر از پاسخت لطف کردی
اما یه سوال: تو صورت سوال گفته کامپایلر A برای اصلاح توصیف کننده آرایه عملیاتی رو انجام میده شما چرا میگی B?
توصیف کننده آرایه رو مسلما جفتشون دارن اما همین که میگه A اصلاحش میکنه به این معنی نیست که حجمشو کم میکنه مثلا؟
من میگم کامپایلر A زمان بیشتری میبره تا کد رو ایجاد کنه یا به عبارتی کامپایلش تموم شه اما کد اجراییش نسبت به B سرعت بیشتری داره
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - fulgent - 19 بهمن ۱۳۹۲ ۰۸:۵۷ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۸:۴۴ ب.ظ)hosshah نوشته شده توسط: (19 بهمن ۱۳۹۲ ۰۸:۳۰ ب.ظ)fulgent نوشته شده توسط: کامپایلر A برای اصلاح توصیف کننده در زمان اجرا محاسباتی را انجام می دهد که باعث می شود فضای اشغالی آن از B بیشتر شود.
کامپایلر B در زمان کامپایل به اصلاح توصیف کننده های آرایه می پردازد و همچنین تعداد کد سه آدرسه ی تولید شده توسط کامپایلر B بیشتر از A است. در نتیجه کد تولید شده توسط B در مجموع برای آماده سازی توصیف کننده ی آرایه و ترجمه ی هر ارجاع، زمان بیشتری می گیرد و کد تولید شده A سریع تر است.
تشکر از پاسخت لطف کردی
اما یه سوال: تو صورت سوال گفته کامپایلر A برای اصلاح توصیف کننده آرایه عملیاتی رو انجام میده شما چرا میگی B?
توصیف کننده آرایه رو مسلما جفتشون دارن اما همین که میگه A اصلاحش میکنه به این معنی نیست که حجمشو کم میکنه مثلا؟
من میگم کامپایلر A زمان بیشتری میبره تا کد رو ایجاد کنه یا به عبارتی کامپایلش تموم شه اما کد اجراییش نسبت به B سرعت بیشتری داره
خواهش می کنم.
کامپایلر A دارای توصیف کننده است ولی کامپایلر B باید در زمان کامپایل (ترجمه) خودش این اصلاح رو انجام بده و فاقد توصیف کننده است.
ببیننید من یه مثال میزنم واسه درک بهتر شاید ربطی به این موضوع شاید نداشته باشه:
شما وقتی توی برنامه حلقه دارید اگر بیاید و به ازا هر بار این کد رو بنویسید یعنی از حالت تکرار خارجش کنید و تماما کد بنویسید چه اتفاقی می افته؟ حجم کد زیاد میشه پس زمان کامپایل بیشتر میشه اما سرعت اجرا افزایش پیدا میکنه.
حالا کامپایلر B توصیف کننده نداره پس باید زمان کامپایل زحمت بیشتری بکشه(یه قابلیت از A کمتر داره) و انگار خودش کد توصیف کننده رو بسازه. اما کامپایلر A توصیف کننده داره پس زمان اجراش سریع تره.
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - hosshah - 19 بهمن ۱۳۹۲ ۰۹:۰۵ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۸:۵۷ ب.ظ)fulgent نوشته شده توسط: خواهش می کنم.
کامپایلر A دارای توصیف کننده است ولی کامپایلر B باید در زمان کامپایل (ترجمه) خودش این اصلاح رو انجام بده و فاقد توصیف کننده است.
ببیننید من یه مثال میزنم واسه درک بهتر شاید ربطی به این موضوع شاید نداشته باشه:
شما وقتی توی برنامه تابع بازگشتی دارید اگر بیاید و به ازا هر بار این کد رو بنویسید یعنی از حالت بازگشتی خارجش کنید و تماما کد بنویسید چه اتفاقی می افته؟ حجم کد زیاد میشه پس زمان کامپایل بیشتر میشه اما سرعت اجرا افزایش پیدا میکنه.
حالا کامپایلر B توصیف کننده نداره پس باید زمان کامپایل زحمت بیشتری بکشه(یه قابلیت از A کمتر داره) و انگار خودش کد توصیف کننده رو بسازه. اما کامپایلر A توصیف کننده داره پس زمان اجراش سریع تره.
مرسی متوجه شدم با این توضیحی که دادین تشکر
ولی گفتم اینو بگم که بعدا اشتباه نشه. ما نمیتونیم برای توابع بازگشتی از روش کپی استفاده کنیما
خیلی ممنون
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - fulgent - 19 بهمن ۱۳۹۲ ۰۹:۱۱ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۹:۰۵ ب.ظ)hosshah نوشته شده توسط: (19 بهمن ۱۳۹۲ ۰۸:۵۷ ب.ظ)fulgent نوشته شده توسط: خواهش می کنم.
کامپایلر A دارای توصیف کننده است ولی کامپایلر B باید در زمان کامپایل (ترجمه) خودش این اصلاح رو انجام بده و فاقد توصیف کننده است.
ببیننید من یه مثال میزنم واسه درک بهتر شاید ربطی به این موضوع شاید نداشته باشه:
شما وقتی توی برنامه تابع بازگشتی دارید اگر بیاید و به ازا هر بار این کد رو بنویسید یعنی از حالت بازگشتی خارجش کنید و تماما کد بنویسید چه اتفاقی می افته؟ حجم کد زیاد میشه پس زمان کامپایل بیشتر میشه اما سرعت اجرا افزایش پیدا میکنه.
حالا کامپایلر B توصیف کننده نداره پس باید زمان کامپایل زحمت بیشتری بکشه(یه قابلیت از A کمتر داره) و انگار خودش کد توصیف کننده رو بسازه. اما کامپایلر A توصیف کننده داره پس زمان اجراش سریع تره.
مرسی متوجه شدم با این توضیحی که دادین تشکر
ولی گفتم اینو بگم که بعدا اشتباه نشه. ما نمیتونیم برای توابع بازگشتی از روش کپی استفاده کنیما
خیلی ممنون
نه منظورم حلقه بود یک اجرای بازگشتی بگم بهتره. یک حلقه که به دفعات تکرار میشه...
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - hosshah - 19 بهمن ۱۳۹۲ ۰۹:۱۵ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۹:۱۱ ب.ظ)fulgent نوشته شده توسط: نه منظورم حلقه بود یک اجرای بازگشتی بگم بهتره. یک حلقه که به دفعات تکرار میشه...
بله مرسی
|
RE: مقایسه سرعت ترجمه و اجرای کد دو کامپایلر - کنکور ۸۸ - AEM4949 - 19 بهمن ۱۳۹۲ ۰۹:۵۱ ب.ظ
(۱۹ بهمن ۱۳۹۲ ۰۸:۵۷ ب.ظ)fulgent نوشته شده توسط: (19 بهمن ۱۳۹۲ ۰۸:۴۴ ب.ظ)hosshah نوشته شده توسط: (19 بهمن ۱۳۹۲ ۰۸:۳۰ ب.ظ)fulgent نوشته شده توسط: کامپایلر A برای اصلاح توصیف کننده در زمان اجرا محاسباتی را انجام می دهد که باعث می شود فضای اشغالی آن از B بیشتر شود.
کامپایلر B در زمان کامپایل به اصلاح توصیف کننده های آرایه می پردازد و همچنین تعداد کد سه آدرسه ی تولید شده توسط کامپایلر B بیشتر از A است. در نتیجه کد تولید شده توسط B در مجموع برای آماده سازی توصیف کننده ی آرایه و ترجمه ی هر ارجاع، زمان بیشتری می گیرد و کد تولید شده A سریع تر است.
تشکر از پاسخت لطف کردی
اما یه سوال: تو صورت سوال گفته کامپایلر A برای اصلاح توصیف کننده آرایه عملیاتی رو انجام میده شما چرا میگی B?
توصیف کننده آرایه رو مسلما جفتشون دارن اما همین که میگه A اصلاحش میکنه به این معنی نیست که حجمشو کم میکنه مثلا؟
من میگم کامپایلر A زمان بیشتری میبره تا کد رو ایجاد کنه یا به عبارتی کامپایلش تموم شه اما کد اجراییش نسبت به B سرعت بیشتری داره
خواهش می کنم.
کامپایلر A دارای توصیف کننده است ولی کامپایلر B باید در زمان کامپایل (ترجمه) خودش این اصلاح رو انجام بده و فاقد توصیف کننده است.
ببیننید من یه مثال میزنم واسه درک بهتر شاید ربطی به این موضوع شاید نداشته باشه:
شما وقتی توی برنامه حلقه دارید اگر بیاید و به ازا هر بار این کد رو بنویسید یعنی از حالت تکرار خارجش کنید و تماما کد بنویسید چه اتفاقی می افته؟ حجم کد زیاد میشه پس زمان کامپایل بیشتر میشه اما سرعت اجرا افزایش پیدا میکنه.
حالا کامپایلر B توصیف کننده نداره پس باید زمان کامپایل زحمت بیشتری بکشه(یه قابلیت از A کمتر داره) و انگار خودش کد توصیف کننده رو بسازه. اما کامپایلر A توصیف کننده داره پس زمان اجراش سریع تره.
مثال جالبی زدی_ممنون و تایید میشه
|