نرم افزار مهندسي Ants Profiler
چهارشنبه 10 آذر 1389 11:18 PMبسيار وقتها در هنگام کار با برنامه هاي کاربردي نوشته شده براي محيط سيستم عامل ويندوز مشاهده ميکنيم که سرعت اجراي برنامه از آنچه که انتظار آن را داشته کمتر است.در بسياري مواقع در هنگام کار با پايگاه داده ها به اين مساله برميخوريم و نميدانيم که آيا مشکل از برنامه کاربردي ما مي باشد يا از موتور پايگاه داده (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 تست کنيم . ابتدا محيط نرم افزار را باز ميکنيم :
ابتدا به قسمت I want to profile the following application رفته و سپس آدرس برنامه مورد نظر را وارد مينماييم :
پس از اين مرحله صفحه result به صورت خودکار ظاهر خواهد گرديد و نتايج آن شبيه به شکل زير مي باشد :
همانگونه که در تصوير مشاهده ميکنيدنام تابع و آرگومانهاي آن و هم چنين مدت زمان اجرا و ديگر اطلاعات مربوط به آن ذکر گرديده است. با دابل کليک بر روي آن ، به سراغ توابعي ميرويم که توسط اين تابع فراخواني شده اند.
ميتوانيم بر روي تابع مورد نظر دابل کليک کنيم تا جزئيات بيشتري در مورد آن مشاهده کنيم :
در صورتي که پروژه ما بزرگ باشد و تعداد زيادي تابع داشته باشيم ، اين نرم افزار به طور خودکار توابع کند و زمانبر را در قسمت show slowest functions به ما نشان ميدهد.