انجمنهای فارسی اوبونتو
کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: مبین در 08 بهمن 1391، 09:14 بظ
-
با عرض سلام
در جریان هستم که این موضوع چندین بار در تاپیک های مختلف بیان شده است ولی من اینجا می خواهم نتیجه ی دو سال کارم رو بنویسم .
اگه حوصله خواندن ندارید اول این دو فیلم رو ببینید :
http://www.aparat.com/v/uEeNp (http://www.aparat.com/v/uEeNp)
http://www.aparat.com/v/MutDN (http://www.aparat.com/v/MutDN)
از قدیم الایام خیلی دوست داشتم برنامه ای بنویسم که cpu و ram خیلی زیادی بخواهد و سیستم عامل رو به چالش بکشاند .
تا اینکه دو سال پیش برنامه ی تعریف اعمال حسابی را بر روی عدد ۳۰۰ رقمی در سی پلاس پلاس نوشتم . البته زیاد روشم خوب نبود و از آرایه استفاده کردم .از نظر خودم زیاد چنگی به دل نمی زند ولی برای شروع خیلی خوب بود .
لینک دانلود : http://sourceforge.net/projects/hugecppnum/ (http://sourceforge.net/projects/hugecppnum/)
امسال تست میلر و رابین برای اعداد اول را بر اساس همین اعداد تعریف کردم .
میلر و رابین : http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test (http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test)
این تست تشخیص می دهد که یک عدد اول است یا نه ؟ البته اگر اول نباشد خیلی سریع به نتیجه میرسد ولی اگر اول باشد برای اینکه صد درصد مطمئن شود که اول است باید محاسبات زیادی را انجام بدهد .
لینک دانلود : http://sourceforge.net/projects/testcpuram/ (http://sourceforge.net/projects/testcpuram/)
تا اینجای کار هیچ ارتباطی به لینوکس نداشت :P
یکی از اقوام یک لپ تاب خرید که مشخصات خیلی بهتر از لپتاب من بود . بعد برای اینکه بهش نشان دهم که لپ تابش خیلی بهتر است همین برنامه رو هم زمان روی لپ تاب خودم و لپتاپ شخص مقابل تست کردم . نتیجه باورکردنی نبود !
نتیجه باور نکردنی بود !
با اینکه مشخصات لپ تاپ من به وضوح یک چهارم لپ تاپ طرف بود .
لپ تاپ من با سرعت بیشتر محاسبات رو انجام میداد !
لپتاب من سیستم عامل اوبونتو ۱۲ داشت و لپتاب طرف ویندوز ۷ البته کرک شده !
عامل اصلی این اتفاق سیستم عامل بود !
یک سورس کد واحد داشتم . IDE استفاده شده در ویندوز و لینوکس کد بلاک و کامپایلر هر دو GCC بود و تنها تفاوت سیستم عامل بود !
این هام فیلم هاش ه که جفتش روی کامپیوتر خودم می باشد
http://www.aparat.com/v/uEeNp (http://www.aparat.com/v/uEeNp)
http://www.aparat.com/v/MutDN (http://www.aparat.com/v/MutDN)
من انتظار داشتم لینوکس بهتر کار کند ولی نه اینقدر تفاوت فاحش و محسوس !
برای عدد اول ۶۵۵۳۷
در ویندوز ۷ روی کامپیوتر خودم :
به شاهد ۲۰۷۷۰ در زمان ۶۳۵.۹۸۳ ثانیه رسید .
در اوبونتو ۱۲.۰۴ روی کامپیوتر خودم :
به شاهد ۳۱۵۸۵ در زمان ۴۵۶.۰۵۱ ثانیه رسید .
این بهترین شاهد برای عملکرد سیستم عامل لینوکس در استفاده از منابع نسبت به سیستم عامل ویندوز است .
-
سی پلاس پلاس هم فهمیده ویندوز به درد نمیخوره ;D
-
خوب برای اینکه من به این نکته پی ببرم زیاد سختی نکشیدم !!
خوب من آلان رو اوبونتوم 256 برنامه نصب کردم!!!!!!!!!!!!
روی 7 که بهترین کارایی رو نسبت به بقیه ویندورزها داره 86 تا برنامه نصبیدم (با درایورها105 تاست)!!!!!
حال وقتی که هر دو کامل میان بالا مقدار رمی که درگیر هست در اوبونتو با دسکتاپ یونیتی و افکت های کامل و کلی قرو و فر 700 تا 800 میگ و برای 7 با حالت پیش فرض و کلی برنامه (105 تا) که همه چیزی رو شامل میشه 1800 تا 2400 میگه !!!!!!
البته از این 105 تا یه چند تا اوبنیمایزر برای افزایش سرعت هم هستا !!!!
مثال دومم وقتی با وینه آفیس 2007 رو باز می کنم 5 ثانیه طول میکشه !!! و در 7 تقریبا 8 تا 10 ثانیه !!!!!!!!
-
1- codeblock یک IDE هست نه compiler
2- مهم این است که کامپایلر ها یکسان باشد مثلا icc که بی طرف است (gcc برای لینوکس تست شده!)
3- دلیل اینکه ابتدا از یک cpu به میزان صدرصد استفاده می شود و بعد سرعت کاهش می یابد استفاده از swap است نه اینکه اجرای برنامه بین چند پروسه تقسیم شده باشد. تنها برنامه هایی که قابلیت پردازش موازی را دارند می توانند از چند cpu استفاده کنند.
4- شما می خواهید سرعت پردازش را اندازه بگیرید یا سرعت ارسال اطلاعت به مونیتور! خروجی زیاد سرعت را بیش اندازه کم می کند.
5- اگر از zram استفاده کنید سرعت swap چند برابر می شود.
6- من یک برنامه تخصصی را روی هر دو سیستم عامل تست کردم linux سرعتش تقریبا 1/5 برابر بود.
7- به طور کلی گفته می شود مدیریت حافظه در لینوکس بهتر از ویندوز است.
-
1- codeblock یک IDE هست نه compiler
2- مهم این است که کامپایلر ها یکسان باشد مثلا icc که بی طرف است (gcc برای لینوکس تست شده!)
3- دلیل اینکه ابتدا از یک cpu به میزان صدرصد استفاده می شود و بعد سرعت کاهش می یابد استفاده از swap است نه اینکه اجرای برنامه بین چند پروسه تقسیم شده باشد. تنها برنامه هایی که قابلیت پردازش موازی را دارند می توانند از چند cpu استفاده کنند.
4- شما می خواهید سرعت پردازش را اندازه بگیرید یا سرعت ارسال اطلاعت به مونیتور! خروجی زیاد سرعت را بیش اندازه کم می کند.
5- اگر از zram استفاده کنید سرعت swap چند برابر می شود.
6- من یک برنامه تخصصی را روی هر دو سیستم عامل تست کردم linux سرعتش تقریبا 1/5 برابر بود.
7- به طور کلی گفته می شود مدیریت حافظه در لینوکس بهتر از ویندوز است.
۱. درسته ، اشتباه گفتم . کلا اشتباه در نحوه بیان و نگارش زیاد دارم !
۲. خود کد بلاک gcc را روی هم ویندوز و هم لینوکس استقاده می کنه و با icc کار نکردم تا حالا
۳. پردازش موازی نداره برنامه ام . منظورم اینکه توی لینوکس همه اش از یک cpu استقاده نمی کند و فشار فقط به یک هسته نمی اره و بعد مدتی کار را روی یک هسته دیگر را ادامه می دهد .
۴.قبول دارم i/o زمان بیشتری را می گیرد و بهترین نحوه ی نمایش اطلاعات چیست ؟
۵.اینو رو باید تست کنم
کلا اون فیلم ها اشتباه گفتاری و بیانی زیاد داره . خودمم چند تاش رو متوجه شدم .
من خودم هم زیاد سوال دارم که چرا این اتفاق می افته !
منتهی ممکن است به خطا چیزهایی رو گفته باشم که اصولا غلط هستند !
-
کدوم اتفاق؟
-
چرا لینوکس بعد از استفاده از یک core یک دفعه درصد استفاده اش رو پایین می اره و به یک core دیگه منتقل می کند ؟
لابد اون یکی core ای داره استفاده می شه برای ضبط تصویر ه ؟
-
اگر به میزان استفاده از cpu قبل از اجرای برنامه دقت کنید می بینید که همه cpu ها تا حدود ۲۰ درصد استفاده می شوند. احتمالا چند برنامه در حال اجرا اند.بعد از مدتی سرعت اجرا به علت استفاده از swap کم می شود.
-
نمیدونم واللا...یعنی زیاده گویی نیست؟ [-(
-
اگر به میزان استفاده از cpu قبل از اجرای برنامه دقت کنید می بینید که همه cpu ها تا حدود ۲۰ درصد استفاده می شوند. احتمالا چند برنامه در حال اجرا اند.بعد از مدتی سرعت اجرا به علت استفاده از swap کم می شود.
از نظر خود سیستم عامل گفتم . لینوکس مگه سیستم هوشمند داره ؟
-
نمیدونم واللا...یعنی زیاده گویی نیست؟ [-(
خیلی راحت می تونید سورس اش رو دانلود کنید و حودتون تست کنید !
چشم بندی هم نیست ! :P
-
نمیدونم واللا...یعنی زیاده گویی نیست؟ [-(
خیلی راحت می تونید سورس اش رو دانلود کنید و حودتون تست کنید !
چشم بندی هم نیست ! :P
راسته به خداااااااااا! :o ;D