منتدى استراحات زايد

منتدى استراحات زايد (http://vb.ma7room.com/index.php)
-   منتدى أخبار المواقع والمنتديات العربية والأجنبية (http://vb.ma7room.com/forumdisplay.php?f=183)
-   -   [ درس ] شرح php benchmarking لقياس أداء وسرعة برمجياتك (http://vb.ma7room.com/showthread.php?t=1381604)

محروم.كوم 02-15-2014 05:20 PM

[ درس ] شرح php benchmarking لقياس أداء وسرعة برمجياتك
 


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

فى هذه المقاله سنلقى الضوء على php benchmarking وسنتعرف على كافة ما يتعلق ب benchmarking بالتفصيل.


ماهو تعريف benchmarking ؟
فى لغات البرمجة ,benchmarking يقصد به اى مفهوم من المفاهيم الاتيه:

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


اى من المفاهيم السابقه تصف المقصود ب benchmark


ماهى اهمية benchmarking ؟
الbenchmarking يعتبر من الأمور المهمه فى حال أردت أن تقوم بالاتى:
1-معرفة سرعة كودك البرمجى والوقت الذى استغرقه لتنفيذ الكود
2-معرفة اماكن الضعف التى تعانى من بطء فى تنفيذ الكود
3-معرفة الاقتراحات الأفضل لتحسين أداء وسرعة كودك

ومن النقاط السابقه جاءت أهمية benchmarking


كيف يمكن تطبيق benchmarking على برمجياتك ؟
اختبار الأداء والسرعة يمكن تطبيقه على برمجياتك بواسطة طرق مختلفه ومتعدده ,بعضها به شىء من الصعوبه فى تنفيذه ,وبعضها يتطلب وقت مطول,وأهم الطرق التى يمكن استخدامها هما:

1-استخدام xdebug
2-استخدام دالة ()microtime


لكن ما الأفضل, xdebug ام microtime ؟
الxdebug :هواضافة برمجية تقوم بعرض تفصيلى ودقيق لكل عملية برمجية تقوم بها,وهذه الاضافه موجوده افتراضيا فى xampp ,ويمكن تفعيلها من ملف php.ini ,واستخدام أحد البرامج لعرض عملية benchmarking التى تمت على اى ملف من ملفات برمجياتك بواسطة netbeans او cahcegrind

اما
()microtime :هى دالة فى php ,ويمكن استخدامها فى الأماكن التى تريد اختبار اداء وسرعة تنفيذ الكود


فى هذا الدرس ,سنتعلم استخدام الطريقه الاسهل والأقل تفصيلا وهى بواسطة دالة ()microtime ,فهى لها طريقه مخصصه لتستخدمها فى benchmarking


كيف نستخدم دالة ()microtime لعمل benchmarking ؟

اولا:لابد ان تعلم ان وظيفة هذه الداله انها تعود بالوقت الزمنى الحالى بصيغة unix timestamp بالمايكروثانيه,اى انها باختصار هى دالة وقت .

لاستخدام هذه الدالة فى benchmarking ,الفكرة بكل بساطة اننا سنضع هذه الدالة قبل الكود الذى تريد قياس الوقت اللازم لتنفيذه ,والتى سيعطينى الوقت الحالى قبل بداية تنفيذ الكود,ثم بعد ذلك ستضع فى نهاية الكود البرمجى الخاص بك هذه الداله مطروحا منها دالة ()microtime التى وضعناها قبل الكود,بحيث سيكون الناتج هو الوقت الذى استغرق لتنفيذ الكود

شاهد الصوره لتفهم المقصود:

http://www.traidnt.net/vb/images/img...14/02/1319.png


أمثله عملية ليعض الأكواد:

رمز Code:
function Test11_1() {
global $answer;

/* The Test */
ob_start();
$t = microtime(true);
while($i < 1000) {

echo '';

++$i;
}
$tmp = microtime(true) - $t;
ob_end_clean();

return $tmp;
}

كود اخر

رمز Code:
function Test8_5() {
global $x;
#$someClass =& new SomeClass2();

/* The Test */
$t = microtime(true);
while($i < 1000) {
$tmp[] = 'aa $ aaaa $ aaaa $ a';
++$i;
}

return (microtime(true) - $t);
}

وبهيك نكون قد أخذنا نبذه بسيطه عن php benchmarking

المقال الأصلى:




شرح php benchmarking لقياس أداء وسرعة برمجياتك


فى رعاية الله

دكتور:محمد أمين

Arab Coders Project






الساعة الآن 12:44 AM

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227