ورود

View Full Version : حرفه ای: خیلی مهم ... برنامه نویسان محترم لطفا...



najinarges
پنج شنبه 16 شهریور 1391, 12:07 عصر
92454


سلام دوستان.
سوالی دارم که واقعا ممنون میشم من رو از راهنماییتون دریغ نکنید.
تو عکسی که گذاشتم همونطور که می بینید با جایگیزین کردن چند خط کد، زمان کامپایل به صورتی که تو عکس مشخص هست تغییر کرده. تنها از =+ به جای + استفاده شده و زمان به این صورت کاهش پیدا کرده. از اونجایی که برنامه برای کاربرد realtime هست زمان خیلی اهمیت داره. اما متاسفانه دلیل این کاهش رو متوجه نمیشم. دلایلی مثل افزایش ارجاعات به حافظه موقع استفاده از + دلیل محکمی برای این اندازه تفاوت نیست. از چند نفر هم پرسیدم به جواب قانع کننده ای نرسیدم. ممنون میشم راهنمایی بفرماییییییید ...

#target
پنج شنبه 16 شهریور 1391, 17:13 عصر
سلام.
آیا همواره تفاوت اینقدر وجود داره یا فقط ی بار تست کردین ؟
شما میتونید کد اسمبلی رو ببینید و اونجا میشه متوجه شد کامپایلر چکار کرده

najinarges
جمعه 17 شهریور 1391, 09:27 صبح
سلام.
آیا همواره تفاوت اینقدر وجود داره یا فقط ی بار تست کردین ؟
شما میتونید کد اسمبلی رو ببینید و اونجا میشه متوجه شد کامپایلر چکار کرده

چند بار تست شده ... یعنی دلیل دیگه ای مثل عدم محاسبه مجدد بعضی مقادیر تو حلقه و .. وجود نداره و تنها راهش همینه؟ میشه بیشتر راهنمایی کنید که چه کار کنم؟ ممنون

#target
دوشنبه 20 شهریور 1391, 00:06 صبح
روی همون خطوط Breakpoint بذار. بعد برنامه رو اجرا کن در حالت Debug
برنامه که رو اون خط ایستاد از منوی Debug و Windows گزینه Disassembly رو انتخاب کن تا پنجره کدهای اسمبلی رو بیاره . اونجا میتونی بفهمی کامپایلر چه کدی دقیقا تولید میکنه برا هر خط و چه تفاوتی دارن . البته برنامه که در حالت Release بهینه سازی انجام میده و کد این نیست . حتی ممکنه اون دو تا با هم یکی بشن

حامد مصافی
دوشنبه 20 شهریور 1391, 00:23 صبح
لطفاً عنوان تاپیک رو اصلاح بفرمایید