آقا حامد خواهش میکنم
فروم یه جاییه برای تبادل نظر .
منتظر بودم تا دیگران هم در این کار منو کمک کنن.امید وارم دوستان دیگه هم به ما ملحق بشن
آقا حامد خواهش میکنم
فروم یه جاییه برای تبادل نظر .
منتظر بودم تا دیگران هم در این کار منو کمک کنن.امید وارم دوستان دیگه هم به ما ملحق بشن
من نفهمیدم ()undoBar چیکار میکنه ؟؟؟؟؟....فهمیدم به جای else به کار رفته ولی نفهمیدم همیشه میشه ازش استفاده کرد ؟؟؟؟کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by Mina Mehdizadeh; 10-08-2008 at 18:46.
سلام
مینا خانوم این مساله رو بهتره با یه مثال بگم
فرض کنین شما میخواین یه عدد به عنوان ماه از سال بگیرین.این عدد نباید بزرگتر از 12 باشه.دو صورت میتونین این کنترل رو داشته باشین
وکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با توجه به اینکه در روش دوم پدیده محل بهتر حفظ میشه کد سرعت بیشتری دارهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
استفاده از روش عملگر و مقدار دهی
البته سمش یادم رفته دقیفا چیه
بهتره از روش زیر
به جایکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
استفاده کنیم.چونکه در این روش یک شی موقتی ساخته نمیشهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
قرار دادن توابع کوچک به صورت inline ش
این مطلب توی کتابها توضیح داده شده.
استفاده از اشیای بینام
تا جای ممکن از توابع بینام استفاده کنید.مثلا
سرعت بیشتری ازکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دارهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در روش دوم اشیا و پارامتر های ارسالی از share memory استفاده میکنند
این هم مقاله بهینه سازی ورودی و خروجی که گفته بودم:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
من اول رو حرفتون شک داشتم برا همین یه برنامه نوشتم که هر دفعه 10^7 با کار های بالا رو انجام میداد و وقتی 100 بار هر برنامه رو اجرا کردن و وقتی میانگین ها رو با هم مقایسه کردم زمان کد دوم بیشتر بود؟
میانگین کد اول = 0.26247 ثانیه برای 10^7 بار
میانگین کد دوم = 0.2818 ثانیه برای 10^7 بار
آقا حامد طبیعتا باید این طوری باشه.
اینجا کل کد ما 100بایت هم نمیشه. کدی با این اندازه تو خود ثبات cpu هم جا میشه. همون طور که گفتم یه مثال برای متوجه شدن چگونگی کارکرد این مساله هستش.
ثانیا اگه کد ما بیشتر هم باشه به خاطر اینکه شما توی حلقه تست میکنین بازم روش اول یعنی با استفاده از شرط و نقض شرط سرعت بیشتری داره. سیستم عامل استالینگز (ص 375)
همون طور که گفتم این کد مربوط میشه به مبحث محل و پراکندگی در سیستم عامل که توی سیستم های امروزی توی کدهای حجیم کارساز هستش.
مراجعه شود : مدیریت حافظه قطعه بندی ؛ کتاب دکتر فهیمی
به نوشته آقای استالینگز هم باید کمترین انشعاب رو از کد داشته باشیم (ص321) که البته توی کد اولی هم که من نوشته بودم هم رعایت نشده. البته این بهینه سازی رو من از یک مقاله آز آقای اندرو وینتر خوندم.خود ایشون هم ذکر کرده بودن که نسبت به شرایط با تصمیم گیری درست پرش رو در کد کم کنین.
اما بازم سعی میکنم مثال و کد بهتری که کارایی این روش رو نشون بده براتون بذارم.
در ضمن از مقاله خیلی خوبتون در مورد توابع ورودی و خروجی ممنونم. توصیه میکنم بقیه هم حتما مطالعه کنن.
یه چیزی هم تا یادم نرفته:بیشتر این بهینه سازی هارو و و روشهای خیلی بهتر و بیشتر رو کامپایلر های امروزی مثل
vc200X,borland c boulder 2005,7,...
خودشون انجام میدن برای همین قصد دارم تااز این به بعد روشهای بهینه کردن کد در سیستم های توکار و بیدرنگ رو عرض کنم.البته بیشتر اینها از مقالات هستش
Last edited by HAW3D; 10-08-2008 at 23:55. دليل: غلط املایی
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)