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

كيف اقراء سرعة المعالج

مغلق
بدأه eng.alamin في 6 أكتوبر 2007 · 8 رد · 929 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ماهى الدالة التى تمكننى من معرفة سرعة البروسيسر وعرضها على ليبل

وشكرا

#2

السلام عليكم

اخي الكريم هذا كل شي عن المعالجات

اقتباس

using System;

using System.Runtime.InteropServices;

class MainClass {

[DllImport("SysInfo.dll")]

static extern int getCPUSpeed();

[DllImport("SysInfo.dll")]

static extern string getCPUType();

[DllImport("SysInfo.dll")]

static extern int getCPUFamily();

[DllImport("SysInfo.dll")]

static extern int getCPUModel();

[DllImport("SysInfo.dll")]

static extern int getCPUStepping();

// main program

public static void Main() {

// get CPU Speed

try {

int iCPUSpeed = getCPUSpeed();

Console.WriteLine("CPU Speed = {0}", iCPUSpeed.ToString());

}

catch (DllNotFoundException e) {

Console.WriteLine(e.ToString());

}

catch (EntryPointNotFoundException e) {

Console.WriteLine(e.ToString());

}

// get CPU Type

try {

string strType = getCPUType();

Console.WriteLine("CPU Type = {0}", strType);

}

catch (DllNotFoundException e) {

Console.WriteLine(e.ToString());

}

catch (EntryPointNotFoundException e) {

Console.WriteLine(e.ToString());

}

// get CPU Family

try {

int iFamily = getCPUFamily();

Console.WriteLine("CPU Family = {0}", iFamily.ToString());

}

catch (DllNotFoundException e) {

Console.WriteLine(e.ToString());

}

catch (EntryPointNotFoundException e) {

Console.WriteLine(e.ToString());

}

// get CPU Model

try {

int iModel = getCPUModel();

Console.WriteLine("CPU Model = {0}", iModel.ToString());

}

catch (DllNotFoundException e) {

Console.WriteLine(e.ToString());

}

catch (EntryPointNotFoundException e) {

Console.WriteLine(e.ToString());

}

// get CPU Stepping

try {

int iStepping = getCPUStepping();

Console.WriteLine("CPU Stepping = {0}", iStepping.ToString());

}

catch (DllNotFoundException e) {

Console.WriteLine(e.ToString());

}

catch (EntryPointNotFoundException e) {

Console.WriteLine(e.ToString());

}

}

};

تم تعديل هذه المشاركة بواسطة y85.fox في 6 أكتوبر 2007 في 03:13

#3

السلام عليكم

اقتباس
اخي الكريم هذا كل شي عن المعالجات

وأين SysInfo.dll

:)

الكود مطور بلغة الآلة و السي++ وعليك بحفظه في مكتبة ديناميكية dll لإستخدامه في السي شارب

#4
Ben_Laiid كتب:
السلام عليكم

وأين SysInfo.dll

:)

الكود مطور بلغة الآلة و السي++ وعليك بحفظه في مكتبة ديناميكية dll لإستخدامه في السي شارب

:wacko: بس ايضا الكود ينفعه

خله يدرو شويه :D

#5

السلام عليكم اخوانى

بن لايد و y85 اشكركم على ردكم وحست تعاونكم :)

ie ( كنت راح افتش على SysInfo.dll ههههه انا خبير فى عمليات البحث والتنقيب )

اشكركم مرة اخرى لتعاونكم معى

تم تعديل هذه المشاركة بواسطة eng.alamin في 6 أكتوبر 2007 في 18:01

#6
eng.alamin كتب:
السلام عليكم اخوانى

بن لايد و y85 اشكركم على ردكم وحست تعاونكم :)

ie ( كنت راح افتش على SysInfo.dll ههههه انا خبير فى عمليات البحث والتنقيب )

اشكركم مرة اخرى لتعاونكم معى

السلام عليكم

اخي الكريم

اذا الانسان ما تعب شويه ما يحس بطعم العلم :rolleyes:

اخوي اقول ممكن ترفعه لنا ملف SysInfo.dll B)

رمضان كريم

#7

اشكرك على مرورك مرة اخرى

تدرى يا اخى لمذا اريد ان اقراء سرعة المعالج ؟

الموضوع كبير جدا :)

اريد ان اصمم داله للتاخير الزمنى تحل مشكلة الدوال الموجودة فى الفريم ورك حيث انها لاتعطى تاخير اسرع من 1 ملى ثانية

اما انا اريد ان اصمم دالة تقوم بالتاخير بسرعة مايكرو ثانية

تعتمد الدالة على سرعة تنفيز سطور البرنامج وطبعا سرعة التنفيز تختلف على حسب سرعة البرسسر حسب القانون التردد يساوى معكوس الزمن

اى ان سرعة المعالج 2 قيقا هيرز تنفز السطر فى زمن قدرة تقريبا 2 نانو ثانية فاذا كنت اريد تاخير 6 نانو فاننى اعمل لووب قدرة 3 سطور برنامج

ربما سؤال يرد على بالك لمذا اريد تاخير بهذة السرعة ؟؟

لقد صممت دائرة الكترونية لرسم الاشارات الرقمية فى صورة (puls train

ولكن الاشارات سريعة جدا بحيث تتطلب منى ان اخذ العينة من الخرج كل 16 مايكرو ثانية :) بحثت وبحثت ولم اجد اى دالة تعطينى تاخير بذا الشكل .....

ارايت اخى كيف ان الموضوع كبير :) ومتفرع

تقبل حالص تحياتى اخوك محمد

#8

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

وفر اطار NET 2 دالة تقوم بحساب وقت النتفيذ وهي StopWatch التابعة لفضاء الأسماء System.Diagnostics

ربما تفيدك

#9

فعلا هذه الدالة تساعدنى كثيرا جدا وتقتصر العناء :)

System.Diagnostics.Stopwatch s = new System.Diagnostics.Stopwatch();

s.Start();

for (i = 0; i < count; i++) Test1();

s.Stop();

Console.WriteLine("Test1: {0}", s.ElapsedMilliseconds);

s.Start();

for (i = 0; i < count; i++) Test2();

s.Stop();

Console.WriteLine("Test2: {0}", s.ElapsedMilliseconds);

تحسب زمن تنفيز العملية بصورة دقيقة جدا حتى بالمايكرو

اشكرك جزيل الشكر اخى

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…