0

نرم افزار مهندسي Ants Profiler

 
amirpetrucci0261
amirpetrucci0261
کاربر طلایی1
تاریخ عضویت : تیر 1388 
تعداد پست ها : 27726
محل سکونت : http://zoomstar.ir/

نرم افزار مهندسي Ants Profiler

بسيار وقتها در هنگام کار با برنامه هاي کاربردي نوشته شده براي محيط سيستم عامل ويندوز مشاهده ميکنيم که سرعت اجراي برنامه از آنچه که انتظار آن را داشته کمتر است.در بسياري مواقع در هنگام کار با پايگاه داده ها به اين مساله برميخوريم و نميدانيم که آيا مشکل از برنامه کاربردي ما مي باشد يا از موتور پايگاه داده (Database Engine) ؟
نرم افزارهاي مهندسي که با نام profiler شهرت دارند و Ants profiler يکي از مشهورترين آنهاست مشکل ما را به بهنرين شکل ممکن حل ميکنند.اين نرم افزارها فعاليتهاي نرم افزار ما را تحت نظر گرفته و به ما ميگويند که کجاي کار نرم افزار ما مشکل دارد.
در اين مقاله به بررسي نرم افزار Ants Profiler ميپردازيم و شما را با قدرت جادويي آن آگاه ميکنيم !!!
نرم افزار Ants صرفا براي مانيتورينگ و پروفايلينگ برنامه هاي کاربردي که در محيط دات نت پياده سازي شده اند کاربرد دارد. براي استفاده از اين نرم افزار کافي است يک پروژه ساده کنسول در محيط دات نت ايجاد نموده و کد زير را در آن وارد نماييم.

using System;
namespace TestProfiler
{
class Test
{
public string GoodFunction()
{
return "I am a good and quick function";
}
public string BadFunction()
{
// Some Codes to wasting the time !!!
for (int i = 0; i < 10; i++)
{
int j=0;
for(string veryBad="_";j<25;j++,veryBad+=veryBad);
}
return "I am a bad and Slow function";
}
}
class Program
{
static void Main(string[] args)
{
Test obj = new Test();
Console.WriteLine(obj.GoodFunction());
Console.WriteLine(obj.BadFunction());
Console.ReadLine();
}
}
}

همانگونه که ميبينيد متد BadFunction صرفا به جهت اتلاف وقت نوشته شده است!!!


حال ميخواهيم اين برنامه را توسط نرم افزار Ants تست کنيم . ابتدا محيط نرم افزار را باز ميکنيم :


 

سپس از منوي File گزينه new را انتخاب ميکنيم . در پنجره باز شده اطلاعات برنامه مورد نظر را وارد مينماييم :
ابتدا به قسمت I want to profile the following application رفته و سپس آدرس برنامه مورد نظر را وارد مينماييم :
 
سپس دکمه OK را کليک ميکنيم تا اين پنجره بسته شود و براي تست کردن برنامه در نوار ابزار دکمه go را کليک ميکنيم
 
با کليک کردن دکمه مذکور برنامه اجرا شده و پروفايلينگ آن نيز شروع ميگردد.
 
هر زمان که لازم ديديم ميتوانيم دکمه Stop را جهت اتمام عمليات پروفايلينگ و مشاهده نتايج کليک کنيم که در اينجا اين کار را پس از اجراي تابع BadFunction که با چاپ عبارت I am a bad and Slow function به اتمام ميرسد، انجام ميدهيم.
پس از اين مرحله صفحه result به صورت خودکار ظاهر خواهد گرديد و نتايج آن شبيه به شکل زير مي باشد :
 
که در آن اصلي ترين تابع برنامه که به نوعي مدخل و محل سروع اجراي برنامه است مشخص گرديده است. از آنجايي که کد مورد نظر به زبان سي شارپ نوشته شده است، لذا تابع Main در اين قسمت مشخص ميگردد.
همانگونه که در تصوير مشاهده ميکنيدنام تابع و آرگومانهاي آن و هم چنين مدت زمان اجرا و ديگر اطلاعات مربوط به آن ذکر گرديده است. با دابل کليک بر روي آن ، به سراغ توابعي ميرويم که توسط اين تابع فراخواني شده اند.
 
همانگونه که در تصوير فوق مشاهده مي فرماييد، اجراي متد BadFunction مدت 21 ثانيه زمان برده است در حالي که بقيه متدها عملا زمان بسيار کمي برده اند.(اين نرم افزار زمانهاي زير 5 ميلي ثانيه را صفر منظور ميکند)
ميتوانيم بر روي تابع مورد نظر دابل کليک کنيم تا جزئيات بيشتري در مورد آن مشاهده کنيم :
 
ملاحظه مي فرماييد که متد مورد نظر به همراه مشخصات و نام متد فراخوان و .... به ما داده شده است.
در صورتي که پروژه ما بزرگ باشد و تعداد زيادي تابع داشته باشيم ، اين نرم افزار به طور خودکار توابع کند و زمانبر را در قسمت show slowest functions به ما نشان ميدهد.
 
نرم افزارهاي مهندسي از اين دست ، کم نيستند که يکي ديگر از مشهورترين آنها نرم افزار DevPartner Studio ميباشد که محدود به دات نت نيست و با ديگر محيطهاي برنامه نويسي نيز به خوبي کار ميکند که بحث در مورد آنرا به زمانی ديگر موکول ميکنيم !!!
چهارشنبه 10 آذر 1389  11:18 PM
تشکرات از این پست
دسترسی سریع به انجمن ها