-
نقل قول: وی بی .نت یا ..... ؟
چی شد. کسی نظری نداره؟:ناراحت::ناراحت::نارا ت:
-
نقل قول: وی بی .نت یا ..... ؟
.net عجیب می شود .... :لبخند:
-
نقل قول: وی بی .نت یا ..... ؟
سلام .
به شخصه دوست ندارم وارد اینجور مسائل شم چون ریشه نداره و همه ادعاهایی که می کنین پایه نداره ولی اجازه بدین یه چیزی رو عرض کنم .
بچه هایی که دارین رو سرعت بین VB و #C بحث می کنین باید به این نکته توجه کنین که خود Microsoft میتونه در این مورد بحث کنه چون کد Windows رو داره و اگه قرار باشه برنامه ای رو تست کنه قطعا 10000 بار بهتر از شما میتونه شرایط Ram و CPU رو در یه حالت نگه داره .
اصلا آیا شما در مورد Paging رم چیزی میدونین ؟ آیا میدونین همه برنامه ها ابتدا به MSIL ( Microsoft Intermedia Language ) تبدیل شده و بعدا اجرا میشن ؟!!!
در آخر حرفام باید خدمت تک تک شما عزیزانم عرض کنم که من زمان اجرا رو در حالت exe عرض می کنم نه در حالت Debuging .
و اگه همین برنامه هایی که در دو محیط اجرا می کنین رو دو یا سه بار دیگه اجرا کنین به هیچ نتیجه ای نمیرسین چون زمانها همیشه در حالت تغییر هستن !!!
-
نقل قول: وی بی .نت یا ..... ؟
Mani_rf جوابی نداره
بلاخره شما چی فکر می کنید؟ ما اینجا کامپیوتری نداریم که .net framwork نداشته باشه . من امروز توی شرکت 5 کامپیوتر بود که با هم خریده بودن و مشخصات سخت افزاریش دقیقا عین هم بود و فقط تفاوت نرم افزاری داشتن. ویندوز همه xp sp2 بود و روی همه برنامه های سنگین Matlab , visual stdio 2008, ise نصب بود . فق هر کاربر به سلیقه خودش یه سری برنامه های کاربردی کوچیک برای خودش نصب کرده بود . خیلی جالب که توی همه این سیستمها
1) وی بی کند تر ( به جز یه دونه که اونم توی رقم سوم اعشار از سی جلو می زد)
2) این سیتم ها با این که سخت افزاری عین هم و نرم افزار های مشابه داشتن سرعت اجرای برنامه توشون خیلی متفاوت بود
آخه اصلا معقول نیت که یه سیستمی که 4 تا برنامه مثل firefox , yahoo masenger , نسبت به دیگری تغییر داشته باشه سرعتش اینقدر متفاون باشه
و جالب تر از همه اینکه توی هر 5 تا سیستم وقتی از benchmark خود matlab استفاده می کردیم سرغت ها با دقت خوبی مثل هم بود
حالا چرا دات نت این طوریه ؟؟؟؟؟؟
یکی جواب بده ؟؟؟؟
:گیج::گیج::گیج:
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
ACorvinus
سلام .
به شخصه دوست ندارم وارد اینجور مسائل شم چون ریشه نداره و همه ادعاهایی که می کنین پایه نداره
در آخر حرفام باید خدمت تک تک شما عزیزانم عرض کنم که من زمان اجرا رو در حالت exe عرض می کنم نه در حالت Debuging .
و اگه همین برنامه هایی که در دو محیط اجرا می کنین رو دو یا سه بار دیگه اجرا کنین به هیچ نتیجه ای نمیرسین چون زمانها همیشه در حالت تغییر هستن !!!
یعنی چی پایه ای نداره
درست جواب بدید
شما به سئوالات من پاسخ بدید
وقتی ما دوتا برنامه اجرایی داریم . چرا تو بعضی از سیستمها یکی و تو بعضی دیگری سریعتر اجرا می شه ؟
این قضیه اصلا ربطی به اون چیزی که شما گفتید نداره
در ضمن ما از فایل اجرایی استفاه می کنیم . و همیشه بعد از چند بار اجرای برنامه به عدد نهایی می رسیم. چون بعد از چند با راجرا برنامه cash شده و دیگه توی زمان اجرای اون تغییرات زیادی به وجود نمی یاد
لطف کنید یه جواب منطقی و درست برای این قضیه پیدا کنید
-
نقل قول: وی بی .نت یا ..... ؟
آقا من از همه دوستان هم ممنونم و هم عذر خواهی میکنم بابت تاخیرم
پس نتیجه میگیریم سرعت بین این دوتا اختلاف آنچنانی نیست که بخوایم سرش بحث کنیم
من خودم هم از اول گفتم وی بی یه نمه اگه سریعتر نباشه کندتر هم نیست .
که اغلب دوستان همین نتیجه رو بدست آوردن ... الا ایالحال همگی خسته نباشید .
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
aghaa_rezaa
آقا من از همه دوستان هم ممنونم و هم عذر خواهی میکنم بابت تاخیرم
پس نتیجه میگیریم سرعت بین این دوتا اختلاف آنچنانی نیست که بخوایم سرش بحث کنیم
من خودم هم از اول گفتم وی بی یه نمه اگه سریعتر نباشه کندتر هم نیست .
که اغلب دوستان همین نتیجه رو بدست آوردن ... الا ایالحال همگی خسته نباشید .
دوست عزیز واسه چی برای خودت نتیجه گیری کردی
خوب حداقل چند نفری بودن که نظر عکس شما رو توی آزمایش بدست آوردن.
به نظر من مشکل از یه جایی هست که ما خبر نداریم . شاید یه خبره پیدا شد و جواب ما رو داد.
آخه مگه می شه که هر کی توی کامپیوتر خودش چک کنه و یه جواب متفاوت با بقیه بگیره؟؟؟؟
-
نقل قول: وی بی .نت یا ..... ؟
عزیز مرغ 1 پا داره دیگه ....!
sari چک کرد دیدی که
مانی هم رو دو تا سیستم چک کرد رو دوتاش وی بی سریعتر بود
منم که چک کردم ، شما هم چک کردی
!
-
نقل قول: وی بی .نت یا ..... ؟
دوستان سلام
به عنوان یک برنامه نویس #C اعتقاد دارم که دو عامل در این اختلاف سرعت ها موثر است:
1) این مساله ممکن است خنده دار به نظر برسد اما احتمال دارد که دوستان در هنگام کامپایل برنامه در قسمت configuration manager گزینه debug را انتخاب کرده باشند نه release. دقت کنید که در برنامه نویسی معیار همواره نسخه نهایی است که باید release باشد چون نسخه debug اصطلاحا دارای symbolic information می باشد. البته می دانم که برنامه نویسان این مسایل را دقت می کنند!! اما احتمال دارد یکی از دلایل اختلاف این باشد.
2) در صورت صرف نظر کردن از مورد اول باز هم اختلاف سرعت تا حدی منطقی است. درست است که در .Net همه زبان ها به زبان میانی مایکروسافت تبدیل می شوند اما فراموش نکنید .Net یک ساختار بسیار complex دارد به گونه ای که خود مایکروسافت عقیده دارد که در برخی موارد ممکن یک سری ساختارها فقط در یک زبان قابلیت انتقال به MSIL را داشته باشد!! البته این مبحث جز یکی از مباحثی است که متقاضیان مدرک MCPD مایکروسافت باید در مورد آن اطلاعاتی داشته باشند!!! و دانستن آن چندان ضروری به نظر نمی رشد!
با آرزوی موفقیت
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
دوست عزیز واسه چی برای خودت نتیجه گیری کردی
خوب حداقل چند نفری بودن که نظر عکس شما رو توی آزمایش بدست آوردن.
به نظر من مشکل از یه جایی هست که ما خبر نداریم . شاید یه خبره پیدا شد و جواب ما رو داد.
آخه مگه می شه که هر کی توی کامپیوتر خودش چک کنه و یه جواب متفاوت با بقیه بگیره؟؟؟؟
عزیزم بازار رو داغ نکن .
اولین و آخرین سخن اینه که شما که هیچ، حتی آقای علیرضا مداح ( مدیر سایت ) هم نمیتونن وضعیت CPU و RAM رو در دو زمان مختلف یکی کنن .
حتی اگه یه برنامه کوچیک سیستمی که نه شما میدونین چیه نه من، توی سیستم اجرا بشه زمانهایی که شما بدست اوردین رو زیر سوال میبره که میبینیم که داره میبره .
لطفا در مورد Paging رم مطالعه کنید .
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
emadfa
دوستان سلام
به عنوان یک برنامه نویس #C اعتقاد دارم که دو عامل در این اختلاف سرعت ها موثر است:
1) این مساله ممکن است خنده دار به نظر برسد اما احتمال دارد که دوستان در هنگام کامپایل برنامه در قسمت configuration manager گزینه debug را انتخاب کرده باشند نه release. دقت کنید که در برنامه نویسی معیار همواره نسخه نهایی است که باید release باشد چون نسخه debug اصطلاحا دارای symbolic information می باشد. البته می دانم که برنامه نویسان این مسایل را دقت می کنند!! اما احتمال دارد یکی از دلایل اختلاف این باشد.
2) در صورت صرف نظر کردن از مورد اول باز هم اختلاف سرعت تا حدی منطقی است. درست است که در .Net همه زبان ها به زبان میانی مایکروسافت تبدیل می شوند اما فراموش نکنید .Net یک ساختار بسیار complex دارد به گونه ای که خود مایکروسافت عقیده دارد که در برخی موارد ممکن یک سری ساختارها فقط در یک زبان قابلیت انتقال به MSIL را داشته باشد!! البته این مبحث جز یکی از مباحثی است که متقاضیان مدرک MCPD مایکروسافت باید در مورد آن اطلاعاتی داشته باشند!!! و دانستن آن چندان ضروری به نظر نمی رشد!
با آرزوی موفقیت
سلام دوست عزیز، گویا این افراد برنامه رو از حالت exe اجرا می کنن نه کامپایل .
چون اگه در حالت کامپایل اجرا کنن دنیا به هم میریزه و اختلافات زمانی بیشتر از حد تصور میره بالا .
-
نقل قول: وی بی .نت یا ..... ؟
به نظر اختلاف وی بی و سی شارپ فقط در سرعت اجرا نیست ، سرعت اجرا تنظیماتی دارد که در بخش کامپایل اعمال میشود.
من یه جهتی که از سی شارپ بدم میآید این است که دستور زبان سی شارپ بر عکس است اما زبان وی بی مثل زبان آدمی زاد کار می کند. نمونه اش رو در تعریف یک متغیر متوجه میشوید.
در وی بی ، کلماتی مانند
end if
end sub
باعث خوانا شدن برنامه میشود اما در سی شارپ اون کروشه ها ی مسخره آدم رو گیج میکنه
البته باید بگم خیلی هم تو سی شارپ وارد نیستم و شاید اشتباه می کنم
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
Hossis
....
.....
......
زبان وی بی مثل زبان آدمی زاد کار می کند. نمونه اش رو در تعریف یک متغیر متوجه میشوید.
در وی بی ، کلماتی مانند
end if
end sub
باعث خوانا شدن برنامه میشود اما در سی شارپ اون کروشه ها ی مسخره آدم رو گیج میکنه
البته باید بگم خیلی هم تو سی شارپ وارد نیستم و شاید اشتباه می کنم
کاملا موافقم.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
aghaa_rezaa
کاملا موافقم.
مثل اینکه کلا موضوع بحث عوض شده
بحث سر این نیست که کدوم یکی بهتره . بحث سر سرعتش
شما خودت دو تا فایل exe رو که من گذاشتم اجرا کردی تا ببینی نتیجه چی می شه؟
خوب حال اجز من sari هم تو کامپیوترش تست کرد نتیجه ای که من گرفتم رو گرفت.
من یه سئوال پرسیدم اگه بلدی جواب بده اگه نه مجبور نیستی تو بحث شرکت کنی
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
ACorvinus
عزیزم بازار رو داغ نکن .
اولین و آخرین سخن اینه که شما که هیچ، حتی آقای علیرضا مداح ( مدیر سایت ) هم نمیتونن وضعیت CPU و RAM رو در دو زمان مختلف یکی کنن .
حتی اگه یه برنامه کوچیک سیستمی که نه شما میدونین چیه نه من، توی سیستم اجرا بشه زمانهایی که شما بدست اوردین رو زیر سوال میبره که میبینیم که داره میبره .
لطفا در مورد Paging رم مطالعه کنید .
باشه فرض کن که نمی شه دو تا سیستم برابر داشت . باشه فرض کن که ما چند تا سیستم داریم که سرغتشون با هم متفاوت.
چرا وقتی دو تا برنامه رو تو این دو تا سیستم اجرا می کنیم تو یه کامپوتر برنامه شماره 1 سریعتر اجرا می شه و تو کامپیوتر دیگه برنامه شماره 2 ؟ چرا ؟
-
نقل قول: وی بی .نت یا ..... ؟
من همچنان منتظر Mani_rf هستم . که جواب بده چون منطقی جواب می ده و رو هوا حرف نمی زنه .
-
1 ضمیمه
نقل قول: وی بی .نت یا ..... ؟
من یکی از این حلقه ها که دوستمون گفته بود را تو دو زبان نوشتم و بر روی یک دستگاه دیگر اجرا کردم. (البته مجبور شدم .Net Framework را هم نصب کنم.مثل برنامه دوستمون بدون اون اجرا نشد!!!!) خوب نتیجه را خودتون ببینید :
https://barnamenevis.org/attach...1&d=1250697252
من هنوز تو کفم.
هیچ دلیلی منطقی نمی توانم پیدا کنم ، دارم خول مشم.
میگم یکی از دوستان که زبانش خوبه از Microsoft بپرسه خوب. Support@Microsoft.com
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
مثل اینکه کلا موضوع بحث عوض شده
بحث سر این نیست که کدوم یکی بهتره . بحث سر سرعتش
شما خودت دو تا فایل exe رو که من گذاشتم اجرا کردی تا ببینی نتیجه چی می شه؟
خوب حال اجز من sari هم تو کامپیوترش تست کرد نتیجه ای که من گرفتم رو گرفت.
من یه سئوال پرسیدم اگه بلدی جواب بده اگه نه مجبور نیستی تو بحث شرکت کنی
سر سرعت این دو زبان هم بحث کردن در حد ما نیست و از ما بر نمیاد .
من همونطور که برنامه شمارو تست کردم و نتیجه به نفع C# شد ، برنامه یکی دیگه از دوستان رو اجرا کردم و نتیجه اون برد VB.net بود .
پس بیخیال شیم :لبخند:
این بیلی جون می خواست بین بچه های برنامه نویس دعوا بندازه ، گرفت این C# مادر مرده رو انداخت به جونمون . مثل بختک افتاده رو زندگیمون .
من الان به خاطر همکاری تو یه پروژه مجبورم C# :عصبانی++: یاد بگیرم . آخه اونایی که داریم با هم کار میکنیم نمیتونن به ویبی سوییچ کنن .
ســـــــــــبز باشید
-
نقل قول: وی بی .نت یا ..... ؟
باشه بی خیال ولی اخه چندتا سئوال اساسی برامون به وجود اومده اونا رو چه کنیم.؟؟؟
من که پروژهام رو انجام دادم و با سی جواب گرفتم . چون همون طوری که قبلا گفته بودم با وی بی خیلی کند شد. تا پروژه بعدی هم خدا بزرگ بلاخره با یه چیزی برنامم رو می نویسم
البته از این به بعد بیشتر سعی می کنم با سی شارپ بنویسم
راستی آقای mani_rf این مفاله شما کی آماده می شه؟ بزار اون بخوونیم شاید نظرمون عوض شد.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
باشه فرض کن که نمی شه دو تا سیستم برابر داشت . باشه فرض کن که ما چند تا سیستم داریم که سرغتشون با هم متفاوت.
چرا وقتی دو تا برنامه رو تو این دو تا سیستم اجرا می کنیم تو یه کامپوتر برنامه شماره 1 سریعتر اجرا می شه و تو کامپیوتر دیگه برنامه شماره 2 ؟ چرا ؟
عزیزم، مثل اینکه اصلا متوجه نیستی ها .
مثل تو مثل این میمونه که یه بار با یه ماشینی که باکش پر از بنزین هست میری به مسافرت و به مقصد میرسی و یه بار دیگه که نصف باک پره میری و وسط راه میمونی .
نتیجه: یه بار زود میرسی یه بار دیر .
حالا میخوام اینو بگم که توی این مثال خودت میتونی بنزین رو پر کنی و هیچ وقت وسط راه نمونی ولی در کامپیوتر اینجوری نیست مگر اینکه خودت سیستم عامل رو بنویسی .
حالا تو بحث کن ولی بهت قول میدم هیشکی بجز Microsoft Programmers نمیتونه به این سوالت جواب بده .
-
نقل قول: وی بی .نت یا ..... ؟
یعنی کسی نمی تونه روی سرعت این دو بحث کنه ؟؟؟؟
-
نقل قول: وی بی .نت یا ..... ؟
بچه ها میخواین من به MicroSoft یه نامه بنویسم و از اونا بپرسیم ؟
فقط اگه همه موافقن تو آماده کردن متن نامه باید کمک کنید
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
BehzadBar
بچه ها میخواین من به MicroSoft یه نامه بنویسم و از اونا بپرسیم ؟
فقط اگه همه موافقن تو آماده کردن متن نامه باید کمک کنید
سلام.
میگم فکر کنم من هم اون بالا همین را گفتم!!!! حتی آدرس ایمل مایکروسافت را هم دادم دیگه نه!!!
نقل قول:
راستی آقای mani_rf این مفاله شما کی آماده می شه؟ بزار اون بخوونیم شاید نظرمون عوض شد
دوستان بخدا همه وقتم پره اما بازام دارم تو وقتای خالیم تحقیق می کنم؛ جالب ترش اینکه هرچی بیشتر می گردم بیشتر پیدا می کنم همین دیشب دو مورد جدید پیدا کردم ؛ دلم نمی خواد مطالبی که تو مقاله می نویسم اشتباه باشه یا اینکه جوری باشه که کسی فکر کنه برای کم کردن شاءن #C این مقاله را نوشتم. برای هیمن زیاد طول کشیده.
-
نقل قول: وی بی .نت یا ..... ؟
Support@MicroSoft.com ایمیل عمومی مایکروسافته که شاید یه جواب کلی بدن یا به یه مقاله های عمومی ارجاع بدن ولی مایکروسافت خودش موظف کرده که به مشکلات و سوال های MCP ها یا MCTS ها و همه اونائیکه مدارک مایکروسافت رو دارن جواب دقیق بده و حتی پیگیری هم میکنن که یه ایمیلی به غیر از ساپورته فقط باید یه متن جامع و موقر از مشکلمون که ادبیات خوبی داشته باشه بنویسیم حالا اگه دوستان تو متن فارسی یاری بکنن من میتونم به انگلیسی ترجمه بکنم و امیدوارم حرف آخرو درباره این مشکل از زبون مایکرو سافت هم بشنویم
منتظر متن یا کمکی از دوستان هستم تا سریع نامرو براشون ارسال کنیم
-
نقل قول: وی بی .نت یا ..... ؟
منم کاملا موافقم و تا جایی که بتونم کمک می کنم
-
نقل قول: وی بی .نت یا ..... ؟
دوستان لطف کنید یه سری به این تاپیک بزنید .شاید شما بتونید جواب بدید
یه جورایی به همین قضیه ربط داره
https://barnamenevis.org/showth...d=1#post785124
اصلا توی کدی که من با ویبی و سی نوشته بودم . توی هر کدوم به یه شکل متغیر رو تعریف کرده بودم . تازه متوجه شدم که این مسئله خیلی مهم
بخونید متوجه می شید چی میگم.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
BehzadBar
Support@MicroSoft.com ایمیل عمومی مایکروسافته که شاید یه جواب کلی بدن یا به یه مقاله های عمومی ارجاع بدن ولی مایکروسافت خودش موظف کرده که به مشکلات و سوال های MCP ها یا MCTS ها و همه اونائیکه مدارک مایکروسافت رو دارن جواب دقیق بده و حتی پیگیری هم میکنن که یه ایمیلی به غیر از ساپورته فقط باید یه متن جامع و موقر از مشکلمون که ادبیات خوبی داشته باشه بنویسیم حالا اگه دوستان تو متن فارسی یاری بکنن من میتونم به انگلیسی ترجمه بکنم و امیدوارم حرف آخرو درباره این مشکل از زبون مایکرو سافت هم بشنویم
منتظر متن یا کمکی از دوستان هستم تا سریع نامرو براشون ارسال کنیم
با تشکر دوست عزیز . من با یک بار با همین آدرس یک سوال برنامه نویسی پرسیدم که به بخش مربوطه فرستاده شد و پاسخ داده شد. اما اگر جای بهتری سراغ دارید خوب چه بهتر...
متن با من اما کمی فرست لازم دارم.
-
1 ضمیمه
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
مثل اینکه کلا موضوع بحث عوض شده
بحث سر این نیست که کدوم یکی بهتره . بحث سر سرعتش
شما خودت دو تا فایل exe رو که من گذاشتم اجرا کردی تا ببینی نتیجه چی می شه؟
خوب حال اجز من sari هم تو کامپیوترش تست کرد نتیجه ای که من گرفتم رو گرفت.
من یه سئوال پرسیدم اگه بلدی جواب بده اگه نه مجبور نیستی تو بحث شرکت کنی
اولا من نظر خودم رو در مورد پست دوستمون دادم ، نه پست شما !
بله گذاشتم اینم عکسش :
بعد هم یه نمه ادب داشته باشین بد نیست ، حد خودتونو نگه دارید !
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
Mani_rf
با تشکر دوست عزیز . من با یک بار با همین آدرس یک سوال برنامه نویسی پرسیدم که به بخش مربوطه فرستاده شد و پاسخ داده شد. اما اگر جای بهتری سراغ دارید خوب چه بهتر...
متن با من اما کمی فرست لازم دارم.
خوب مانی جان پس متن نامه را اینجا بذار تا براشون ایمیل کنم و منتظر جواب نهایی این مسئله باشیم
-
نقل قول: وی بی .نت یا ..... ؟
سلام
راستش یه نکته ای در مورد سورس برنامه ها به نظرم اومد که شاید مهم نباشه اونم اینه که در هنگام کار با اعداد صحیح VB به طور پیشفرض در حالت checked هست یعنی با هر بار انتساب یا تغییر مقدار متغیر چک می کنه که Overflow رخ نده ولی C# به طور پیشفرض اینکار رو نمی کنه،بد نیست یه بار کدهای C# رو در حالت checked اجرا و نتیجه رو بررسی کنید.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
mike
سلام
راستش یه نکته ای در مورد سورس برنامه ها به نظرم اومد که شاید مهم نباشه اونم اینه که در هنگام کار با اعداد صحیح VB به طور پیشفرض در حالت checked هست یعنی با هر بار انتساب یا تغییر مقدار متغیر چک می کنه که Overflow رخ نده ولی C# به طور پیشفرض اینکار رو نمی کنه،بد نیست یه بار کدهای C# رو در حالت checked اجرا و نتیجه رو بررسی کنید.
دوست عزیز از کجا می شه این خاصیتی که گفتی رو فعال یا غیر فعال کرد ؟
ممنون از نکته ای که گفتی
-
نقل قول: وی بی .نت یا ..... ؟
سلام
checked
{...}
کدی را که می خواهید بررسی شود بین بلاک مربوط به checked قرار دهید،کدهای خارج از این بلاک بررسی نمی شوند.در عین حال کلمه کلیدی unchecked هم موجود است.
-
نقل قول: وی بی .نت یا ..... ؟
بهترین کتاب ویبی دات نت به نظر من کتاب دیتل & دیتل هستش.
جعفرنژاد قمی به نظر من به درد کار نمی خوره.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
دوستان این کد سی
double[] n1 = new double[11000];
double[] n2 = new double[11000];
double[] y = new double[11000];
long cun1 = 0;
long cun2 = 0;
long freq = 0;
bool d;
//[System.Security.SuppressUnmanagedCodeSecurity]
[DllImport("kernel32")]
private static extern bool QueryPerformanceFrequency(ref long PerformanceFrequency);
//[System.Security.SuppressUnmanagedCodeSecurity] // We won't use this maliciously
[DllImport("kernel32")]
private void button1_Click(object sender, EventArgs e)
{
d= QueryPerformanceCounter(ref cun1);
for (int m = 1; m < 100000; m++)
for (int n = 0; n < 10000; n++)
{
n1[n] = n;
n2[n] = n;
y[n] = n1[n] * n2[n];
}
QueryPerformanceCounter(ref cun2);
QueryPerformanceFrequency(ref freq);
label1.Text = ((float)(cun2 - cun1) / freq).ToString();
}
اینم کد وی بی
Dim n1(11000), m1(11000), j(11000) As Double
Dim c1, c2, frq As Double
Dim n, m As Int32
Declare Function QueryPerformanceCounter Lib "kernel32.dll" (ByRef x As Int64) As Byte
Declare Function QueryPerformanceFrequency Lib "kernel32.dll" (ByRef x As Int64) As Byte
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
QueryPerformanceCounter(c1)
For m = 1 To 100000
For n = 0 To 10000
n1(n) = n
m1(n) = n
j(n) = n1(n) * m1(n)
Next
Next
QueryPerformanceCounter(c2)
QueryPerformanceFrequency(frq)
Label1.Text = (c2 - c1) / frq
End Sub
فقط احتمال داره که تو نمونه ای که فایل اجراییش رو براتون گذاشته بودم تعدداد اجرای حلقه for با این یه کم متفاوت باشه
تاپیک این همه رفته جلو ولی هنوز کسی نگفته این دو تا کد معادل هم نیستن ؟
For m = 1 To 100000
For n = 0 To 10000
for (int m = 1; m < 100000; m++)
for (int n = 0; n < 10000; n++)
تعداد تکرار حلقه ها به طرز فجیعی با هم اختلاف دارن ! اگه سرعت ایندو برابر بود بیشتر جای تعجب داشت .:لبخند:
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
تاپیک این همه رفته جلو ولی هنوز کسی نگفته
این دو تا کد معادل هم نیستن ؟
For m = 1 To 100000
For n = 0 To 10000
for (int m = 1; m < 100000; m++)
for (int n = 0; n < 10000; n++)
تعداد تکرار حلقه ها به طرز فجیعی با هم اختلاف دارن ! اگه سرعت ایندو برابر بود بیشتر جای تعجب داشت .:لبخند:
حالا من بقیه را نمی دونم اما من که از این دو کد استفاده کردم.
Button1.Enabled = False
Dim V1 As Double = 996585545.21556
Dim V2 As Double = 2522314498.8892241
Dim V3 As Double = 0
Dim I As Double = 0, J As Double = 0
Dim Time As Long = DateTime.Now.TimeOfDay.TotalMilliseconds
For J = 0 To 9999999999
V3 = V1 * V2
Next
Label1.Text = DateTime.Now.TimeOfDay.TotalMilliseconds - Time
Button1.Enabled = True
Button1.Enabled = false;
double V1 = 996585545.21556;
double V2 = 2522314498.8892241;
double V3 =0;
double I = 0; double J = 0;
double Time = DateTime.Now.TimeOfDay.TotalMilliseconds;
for (J = 0; J < 9999999999; J++)
{
V3 = V1 * V2;
}
Label1.Text =Convert.ToString ( DateTime.Now.TimeOfDay.TotalMilliseconds - Time);
Button1.Enabled = true;
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
Mani_rf
حالا من بقیه را نمی دونم اما من که از این دو کد استفاده کردم.
Button1.Enabled = False
Dim V1 As Double = 996585545.21556
Dim V2 As Double = 2522314498.8892241
Dim V3 As Double = 0
Dim I As Double = 0, J As Double = 0
Dim Time As Long = DateTime.Now.TimeOfDay.TotalMilliseconds
For J = 0 To 9999999999
V3 = V1 * V2
Next
Label1.Text = DateTime.Now.TimeOfDay.TotalMilliseconds - Time
Button1.Enabled = True
Button1.Enabled = false;
double V1 = 996585545.21556;
double V2 = 2522314498.8892241;
double V3 =0;
double I = 0; double J = 0;
double Time = DateTime.Now.TimeOfDay.TotalMilliseconds;
for (J = 0; J < 9999999999; J++)
{
V3 = V1 * V2;
}
Label1.Text =Convert.ToString ( DateTime.Now.TimeOfDay.TotalMilliseconds - Time);
Button1.Enabled = true;
متاسفانه شما هم کدتون در دو زبان معادل همدیگه نیست .اما خوشبختانه چون شما از حلقه های تودرتو استفاده نکردین این اشتباهتون چندان تاثیرگذار در زمان برنامه نباید باشه.
بعد از اینکه کدتون رو اصلاح کردین بگین به چه اختلاف زمانی رسیدین ؟ آیا اختلاف همچنان زیاد ه ؟
/
یه سوال : دلیل اینکه اعداد رو اینطوری انتخاب کردین (مثلا 2522314498.8892241) و از اعداد رند استفاده نکردین چی بوده ؟ (چون احساس می کنم به عمد این کارو کردین مشتاقم مزیتشو بدونم)
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
تاپیک این همه رفته جلو ولی هنوز کسی نگفته
این دو تا کد معادل هم نیستن ؟
For m = 1 To 100000
For n = 0 To 10000
for (int m = 1; m < 100000; m++)
for (int n = 0; n < 10000; n++)
تعداد تکرار حلقه ها به طرز فجیعی با هم اختلاف دارن ! اگه سرعت ایندو برابر بود بیشتر جای تعجب داشت .:لبخند:
دوست عزیز من که خودم تو چند تا پست قبل به همین مسئله اشاره کردم و شما رو به یک تاپیک جدید فرستادم
تو اون تاپیک هم سئوالم همین بود که چرا ابن دو تا دستوری که الان شما اشاره کردید از لحاظ سعت خیلی با هم فرق داردن و کدوم سریعترن
من که چند سال برنامه می نویسم تا حالا اصلا به این قضیه برخورد نکرده بود :متفکر::متفکر::متفکر:
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
تاپیک این همه رفته جلو ولی هنوز کسی نگفته
این دو تا کد معادل هم نیستن ؟
For m = 1 To 100000
For n = 0 To 10000
for (int m = 1; m < 100000; m++)
for (int n = 0; n < 10000; n++)
تعداد تکرار حلقه ها به طرز فجیعی با هم اختلاف دارن ! اگه سرعت ایندو برابر بود بیشتر جای تعجب داشت .:لبخند:
تازه دوست عزیز شما اول جواب منو بدید به نظر شما توی همین دوتا فوری که نوشتیم کدوک سریعتر؟
اون که متغیر توی فور تعریف می شه یا اونی که اول تعریف می شه ؟
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
دوست عزیز من که خودم تو چند تا پست قبل به همین مسئله اشاره کردم و شما رو به یک تاپیک جدید فرستادم
تو اون تاپیک هم سئوالم همین بود که چرا ابن دو تا دستوری که الان شما اشاره کردید از لحاظ سعت خیلی با هم فرق داردن و کدوم سریعترن
من که چند سال برنامه می نویسم تا حالا اصلا به این قضیه برخورد نکرده بود :متفکر::متفکر::متفکر:
وقتی تعداد تکرار دستورات یه برنامه حدودا 10000 تا بیشتر از یه برنامه دیگه باشه باید هم کندتر اجرا بشه :|
فکر می کنم باید از شما بپرسم که معادل این کد در سی شارپ چی میشه :
for i = 0 to 1
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
تازه دوست عزیز شما اول جواب منو بدید به نظر شما توی همین دوتا فوری که نوشتیم کدوک سریعتر؟
اون که متغیر توی فور تعریف می شه یا اونی که اول تعریف می شه ؟
یعنی در واقع منظورتون تفاوت بین این دو کده و محل تعریف متغیر (که در بلاک for باشه یا نباشه) رو می خاین بررسی کنین؟ ?
for (int m = 1; m < 100000; m++)
و
Int m;
for (m = 1; m < 100000; m++)
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
یعنی در واقع منظورتون تفاوت بین این دو کده و محل تعریف متغیر (که در بلاک for باشه یا نباشه) رو می خاین بررسی کنین؟ ?
for (int m = 1; m < 100000; m++)
و
Int m;
for (m = 1; m < 100000; m++)
می خوام بدونم کدوم یک از 2 کد زیر سریعتره و چرا
dim m as int16
for m=1 to 100
.
.
next
یا
for m as int16=1 to100
.
.
next
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
متاسفانه شما هم کدتون در دو زبان معادل همدیگه نیست .اما خوشبختانه چون شما از حلقه های تودرتو استفاده نکردین این اشتباهتون چندان تاثیرگذار در زمان برنامه نباید باشه.
بعد از اینکه کدتون رو اصلاح کردین بگین به چه اختلاف زمانی رسیدین ؟ آیا اختلاف همچنان زیاد ه ؟
/
یه سوال : دلیل اینکه اعداد رو اینطوری انتخاب کردین (مثلا 2522314498.8892241) و از اعداد رند استفاده نکردین چی بوده ؟ (چون احساس می کنم به عمد این کارو کردین مشتاقم مزیتشو بدونم)
دوست عزیز، راستش را بخواهی من متوجه نشدم تفاوت دو کدم در کجاست! اگر امکان دارد توضیح دهید تا آن را برطرف سازم.
درباره عدد غیر رند هم احصاص کردم برای محاسبه اعداد غیر صحیح با اعشار بالا سیستم به محاسبه و حافظه بیشتری نیاز دارد تا ععداد رند.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
Mani_rf
دوست عزیز، راستش را بخواهی من متوجه نشدم تفاوت دو کدم در کجاست! اگر امکان دارد توضیح دهید تا آن را برطرف سازم.
درباره عدد غیر رند هم احصاص کردم برای محاسبه اعداد غیر صحیح با اعشار بالا سیستم به محاسبه و حافظه بیشتری نیاز دارد تا ععداد رند.
حلقه های for شما در وی بی یه بار بیشتر از معادلی که برای اون نوشتین در سی شارپ اجرا میشن
برای همین از دوستمون خواستم که معادل این کد رو در سی شارپ بنویسه :
for i = 0 to 1
آیا معادلش میشه ؟
for (i=0,i<1,i++)
که این اشتباه در مثال شما زیاد بغرنج نبود چون حلقه ی تودرتو نداشتین . اما در مثال اون دوست دیگمون اختلاف زیادی رو باعث می شد ؟
متوجه منظورم شدید ؟
/
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
می خوام بدونم کدوم یک از 2 کد زیر سریعتره و چرا
dim m as int16
for m=1 to 100
.
.
next
یا
for m as int16=1 to100
.
.
next
هیچ فرقی با هم ندارن .
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
هیچ فرقی با هم ندارن .
دوست عزیز اگه فرقی با هم نیم کنن پس چرا می گی که من اشتباه کردم
من همین کد رو توی یه فور دیگه نوشته بودم که با این حرف شما نباید مشکلی داشته باشه
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
حلقه های for شما در وی بی یه بار بیشتر از معادلی که برای اون نوشتین در سی شارپ اجرا میشن
برای همین از دوستمون خواستم که معادل این کد رو در سی شارپ بنویسه :
for i = 0 to 1
آیا معادلش میشه ؟
for (i=0,i<1,i++)
که این اشتباه در مثال شما زیاد بغرنج نبود چون حلقه ی تودرتو نداشتین . اما در مثال اون دوست دیگمون اختلاف زیادی رو باعث می شد ؟
متوجه منظورم شدید ؟
/
درسته ، کاملا حق با شماست ، اصلا به این موضوع توجه نکرده بودم.
نکته خیلی جالب تر این که تو برنامه ای که دوستمون گذاشت تو سیستم هایی که من امتحان کردم باز هم VB سریعتر کد را اجرا کرد!! این یعنی کلی اختلاف تو C# . البته کد خودم را تو چند تا سیستم ازجمله سیستم خونه خودم هم تست کردم که اون هم جوابش جالب شد.
Cpu : 2.8 1mb cash
Ram : 1 DDR Bus 400
VGA : Nvidia 6200(256 MB)
Main : Asus P4
Win : Vista Sp1
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
هیچ فرقی با هم ندارن .
تازه متوجه شدم که شما داری به چی اشاره می کنی
منظورتون اون یک باری که کد بیشتر از اون اجرا می شه
البته اون یک بار با این که اتوی فور هم هست نباید ایقدر اختلاف ایجاد کنه مشکل اصلی مال اوون جایی بود که متغیر حله و تعریف کردیم
برخلاف نظ شما این دو تا حلقه فور با هم اختلاف دارن و اونی که متغیرر حلقه توی خود حلقه تعریف می شه خیلی سریعتر . حتی اگه اون حلقه باز توی یه حلقه دیگه باشه
یعنی
int m, n as int16
for m=1 to 100
for n=1 to 100
..
next
next
کنتدتر از کد زیر اجرا می شه
for m as int16=1 to 100
for n as int16=1 to 100
..
..
next
next
من در این باره یه تاپیک ایجاد کردم که آدرش توی هین تاپیک هست
یکی از مدیران ارشد سایت هم جواب داد و دلیلش رو توضیح داد
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
Mani_rf
درسته ، کاملا حق با شماست ، اصلا به این موضوع توجه نکرده بودم.
نکته خیلی جالب تر این که تو برنامه ای که دوستمون گذاشت تو سیستم هایی که من امتحان کردم باز هم VB سریعتر کد را اجرا کرد!! این یعنی کلی اختلاف تو C# . البته کد خودم را تو چند تا سیستم ازجمله سیستم خونه خودم هم تست کردم که اون هم جوابش جالب شد.
Cpu : 2.8 1mb cash
Ram : 1 DDR Bus 400
VGA : Nvidia 6200(256 MB)
Main : Asus P4
Win : Vista Sp1
دوست عزیز به نظر شما چرا نتیجه توی بعضی از کامپیوتر ها متفاوت با چیزی که شما تست کردید هست؟ دلیل منطقی دارید
خوب اگه یه سیستم کندتر یا سریعتر باشه هر دو تا برنامه باید توی اون سیستم کند تر یا سریعتر اجرا بشن دیگه. مکه این طور نیست؟
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
hossein-khoshseyar
تازه متوجه شدم که شما داری به چی اشاره می کنی
منظورتون اون یک باری که کد بیشتر از اون اجرا می شه
البته اون یک بار با این که اتوی فور هم هست نباید ایقدر اختلاف ایجاد کنه مشکل اصلی مال اوون جایی بود که متغیر حله و تعریف کردیم
خوب البته یه بار نبود . بلکه به ازای هر یه بار اضافه در حلقه ی بیرونی حلقه داخلی 1000 بار بیشتر اجرا می شد . البته از جهت اینکه قرار بود کد رو برای مایکروسافت ایمیل کنن یه کم قضیه حیثیتی بود .
نقل قول:
برخلاف نظ شما این دو تا حلقه فور با هم اختلاف دارن و اونی که متغیرر حلقه توی خود حلقه تعریف می شه خیلی سریعتر . حتی اگه اون حلقه باز توی یه حلقه دیگه باشه
یعنی
int m, n as int16
for m=1 to 100
for n=1 to 100
..
next
next
کنتدتر از کد زیر اجرا می شه
for m as int16=1 to 100
for n as int16=1 to 100
..
..
next
next
من در این باره یه تاپیک ایجاد کردم که آدرش توی هین تاپیک هست
یکی از مدیران ارشد سایت هم جواب داد و دلیلش رو توضیح داد
شما از من در مورد یک حلقه سوال کردید . اما این که الان میگید فرق داره دو تا حلقه ی تو در توه .
پیشنهاد من به شما اینه که یه زحمتی بکشید برنامه رو با تعداد تکرار بالا و با یه حلقه بنویسید . یه بار به صورتی که شمارنده در دستور for تعریف بشه و یه بار هم قبلش از حلقه تعریف کنید
برنامه ها رو ریلیز کنید . فایل PDB رو از فولدر پاک کنید و حالا دو تا برنامه رو (exe ها رو ) اجرا کنید .و نتیجه رو بگین . انتظار من زمان برابره.
-
نقل قول: وی بی .نت یا ..... ؟
نقل قول:
نوشته شده توسط
pirmard
پیشنهاد من به شما اینه که یه زحمتی بکشید برنامه رو با تعداد تکرار بالا و با یه حلقه بنویسید . یه بار به صورتی که شمارنده در دستور for تعریف بشه و یه بار هم قبلش از حلقه تعریف کنید
برنامه ها رو ریلیز کنید . فایل PDB رو از فولدر پاک کنید و حالا دو تا برنامه رو (exe ها رو ) اجرا کنید .و نتیجه رو بگین . انتظار من زمان برابره.
دوست عزیز من دقیقا همین کاری که شما می گید رو کردم و نتیجه این شد که اونی که متغیرر توی فور تعریف می شه سریعتر در حالی که من انتظار عکس این رو داشتم . گفتم تو اون تاپیکی که گفتم یکی از مدیزای ارشد اومد و توضیح داد که چرا اون کد سریعتر
درحالی که من انتظار داشتم چون توی فور داخلی متغیر حلقهش به ازای هر بار اجرای حلقه بیرونی یه بار تکرار می شه کندترع