الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج ممتاز لمعرفة سرعة المعالجة في جهازك

مغلق
بدأه romantic_boy في 30 يناير 2005 · 7 رد · 886 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أحبائي أعضاء المنتدي

السلام عليكم و رحمة الله و بركاته

برنامج اليوم ربما هو بسيط جدا و أكواده سهلة جدا الا انني أعتقد ان فكرته جديدة، هذا البرنامج الصغير يقوم بقياس (سرعة المعالجة) في جهازك ، أقصد بذلك سرعة الرام و المعالج.

و ذلك عن طريق ان يقوم البرنامج بعد 1000000000 حلقة تكرارية فارغة ثم يقيس الوقت الذي تمت به هذه المعالجة و لكي تحصل علي النتيجة الاقرب للصحة :

* اولا اغلق جميع التطبيقات قبل تشغيل البرنامج

*اترك البرنامج لمدة 5 ثواني بعد تشغيله ثم اضغط enter

بعد ان ينتهي البرنامج من عمله يضع لك تقرير عن النتائج مرفقا به تاريخ ووقت الاختبار وبذلك تتمكن من مقارنة أداء جهازك في الفترات المختلفة

أرجوا ان يحوز البرنامج علي اعجابكم

الكود كالتالي

' البرمجة فكرة !!!
'قمنا هنا باستيراد فضاء الأسماء
Imports System.IO
Module Module1
    'لكي يعمل البرنامج بشكل جيد لابد من اغلاق كافة التطبيقات اولا
    Sub Main()
        'هنا نكتب علي الشاشة ارشادات للمستخدم عن هدف البرنامج و طريقة عمله
        Console.WriteLine("this program is going to measure the speed of your pc..(especially processor and ram)")
        Console.WriteLine()
        Console.WriteLine("by counting 1,000,000,000 nos and tell you the time that has been taken")
        Console.WriteLine()
        Console.WriteLine("to count")
        Console.WriteLine("______________________________________________________________________")
        Console.WriteLine("")
        Console.WriteLine("please close all programs before you proceed")
        Console.WriteLine()
        Console.WriteLine("______________________________________________________________________")
        Console.WriteLine()
        'هنا يخبر البرنامج المستخدم ان مستعد لتلقي أمر البدء
        Console.WriteLine("hit enter to begin")
        Console.WriteLine()
        Console.ReadLine()
        Console.WriteLine()
        ' هنا يوضح البرنامج للمستخدم ان الرنامج قيد المعالجة لمعرفة سرعة المعالجة 
        Console.WriteLine("                               _______________")
        Console.WriteLine("                               processing ... ")
        Console.WriteLine("                               _______________")
        'نحسب الوقت الذي مضي منذ تشغي الجهاز حتي الان
        Dim sysenv As System.Environment
        Dim milliseconds1 As Double = (sysenv.TickCount())
        Dim A As Long
        'نقوم بعّد مليار حلقة تكرارية
        'بالطبع هذا سيأخذ بعض الوقت و هذا يختلف حسب قوة جهازك
        For A = 1 To 1000000000
        Next A
        'نحسب الوقت الذي مضي منذ تشغيل الجهاز حتي الان 
        ' بالطبع هذا الوقت = الوقت السابق + وقت عد الحلقة التكرارية
        Dim milliseconds2 As Double = (sysenv.TickCount())
        'نستخرج وقت المعالجة بطرح المدة الاولس من المدة الاخيرة فينتج لنا وقت المعالجة بالميللي ثانية 
        Dim ahmed As Double = milliseconds2 - milliseconds1
        'عرض نتائج العملية
        Console.WriteLine()
        Console.WriteLine()
        'الوقت المستخرج بالميللي ثانية
        Console.WriteLine("______________________________________________________________________")
        Console.WriteLine()
        Console.WriteLine("* this process toke exactly" & "  " & ahmed & "  " & "milliseconds...")
        Console.WriteLine()
        'الوقت المستخرج بالثانية
        Console.WriteLine("______________________________________________________________________")
        Console.WriteLine()
        Console.WriteLine("* this process toke exactly" & "  " & (ahmed / 1000) & "  " & "seconds...")
        Console.WriteLine()
        Console.WriteLine("______________________________________________________________________")
        Console.WriteLine()
        Console.WriteLine("*****this program is made by ahmed shalaby*****")
        Console.WriteLine()
        'يخبرك البرنامج انه تم توليد تقرير علي ال c:
        'وهو مفيد من ناحيتين
        'أولا يتيح لك مقارنة النتائج التي حصلت عليها من جهازك مع جهاز اخر
        'أو مقارنة نتائج جهازك في فترات مختلفة
        'و من خصائصه انه يكتب التقارير فوق بعضها اي لا يمسح القديم
        'و ذلك راجعا لطريقة فتح الملف append
        Console.WriteLine("a report has been generated on drive c:")
        'حالما يضغط المستخدم enter
        'يعمل البرنامج في الخفاء علي انشاء التقرير ووضعه في الدرايف c
        Console.WriteLine("hit enter to exit")
        Console.ReadLine()
        'هنا كود توليد التقرير 
        Dim FS As New FileStream("c:\report.txt", FileMode.Append)
        Dim SW As New StreamWriter(FS)
        'اولا يكتب التاريخ
        SW.WriteLine("                           ---------------------------------")
        SW.WriteLine("                           " & Now)
        SW.WriteLine("                           ---------------------------------")
        SW.WriteLine()
        SW.WriteLine()
        'ثم يكتب النتائج التي سبق ان توصل لها البرنامج بالاعلي
        SW.WriteLine("__________________________________________________")
        SW.WriteLine("* this process toke exactly" & "  " & ahmed & "  " & "milliseconds...")
        SW.WriteLine()
        SW.WriteLine("* this process toke exactly" & "  " & (ahmed / 1000) & "  " & "seconds...")
        SW.WriteLine("__________________________________________________")
        SW.WriteLine()
        SW.WriteLine("programmed by ahmed shalaby..")
        SW.WriteLine("=============================================")
        SW.Close()
        FS.Close()
        'من الممكن اذا اردت ان تعلم تأثير عمل برنامج ما علي سرعة المعالجة
        'أن تجعله يعمل و تشغل هذا البرنامج
        ' وأي خدمة
    End Sub

End Module

هذا البرنامج غير منقول من المنتديات الاجنبية أرجوا اذا تم نقله الي اي منتديات اخري عربية او اجنبية عدم ازالة اسمي من عليه و ذكر المصدر

شكرا لكم جميعا و اتمني لكم التوفيق :) B)

ملف البرنامج:

measuring processing speed.zip

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#2

romantic_boy

برنامج جميل جدا

وفقك الله

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#3

جزاك الله خير على هذا البرنامج وان شاء الله التجربة فيه

والسلام عليكم

#4

بارك الله فيك وجعله الله في ميزان حسناتك

"إن الذين آمنوا وعملوا الصالحات كانت لهم جنات الفردوس نزلا"

#5

أثناء تصفحي لمواضيعي القديمة وجدت هذا الموضوع قلت أرفعه يمكن يعجبكم

اخوكم احمد شلبي

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#6

همممم.... ربما يكون البرنامج مفيدا،، وربما لا يكون مفيدا، إليك بعض التخمينات:

1- هذه تحسب سرعة معالجة على بيئة .net وليست بالضرورة تعكس قوة الحاسب في بيئات مختلفة.

2- على حسب المترجم،، فالمترجم له دور،، بعض المترجمات يكون عندها القدرة على إيجاد الحلول المثلى، أو عمليات optimization،، أقصد من هذا الكلام، أن المترجم أو compiler سيحذف هذه الجملة:

for (int i=0;i<1000000;i++)
{}

لأنها غير مفيدة، ولا تفعل شيئا،، وبهذا برنامجك سيعطينا النتائج أن سرعة المعالج جبارة!! وهذا ناتج خطأ، لأن المترجم عمل المطلوب،، (عموما هذا ما يفعله مترجم Java)! وربما هو كذلك في .net!

3- على حسب المشغل، فالمشغل قد تكون له إمكانية تحرير الشفرة بما يفيد سرعة التنفيذ،،، أقصد أن ناتجه نفس ناتج رقم 2.

#7

المترجم في dotnet ينفذ الجملة، و بعدين انت مش فاهم فكرة البرنامج البرنامج يحسب السرعة بمرجعيته

يعني ايه؟

يعني لما يديني 1500 ملي ثانية و يديك 1000 ملي ثانية يبقي النتيجة عندك أفضل و المعالجة أيضا أسرع، و بعدين ليه بتقارنه بجافا الموضوع مالوش صلة بيها و compiler ال java مختلف تماما

و بعدين انت ممكن تحسب بيه كمان اداء جهازك علي مر الايام، واضح انك مخدتش بالك انه بيولد تقرير التقرير ده مش مرة واحدة بس لأ ده علي طول بيضم كل التقارير في ملف واحد و بالتواريخ عشان تعرف أداء جهازك امبارح كان ايه و النهاردة ايه

علي أي حال أتمني انه يكون مفيد

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#8

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

جرب الكود التالي لمعرفة سرعة الحاسب الالي :

        For Each Spd As Object In GetObject("Winmgmts:").execQuery("SELECT CurrentClockSpeed FROM Win32_Processor")
            MsgBox(Spd.CurrentClockSpeed.ToString)
        Next

السلام عليكم و رحمة الله و بركاته

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

هذا الموضوع مغلق.

مواضيع مشابهة