PDA

View Full Version : آموزش: متغیر های static == سرعت بیشتر.



Yousha
شنبه 05 دی 1388, 16:01 عصر
سلام،
مقایسه سرعت بین متغیر و متغیر static:


$Str_Test= '@#$%';
0.00712296028137
0.00726686248779
0.00728212127686
0.00728784332275
0.00731216201782
0.00733314285278
0.00835507736206
0.00836205940247
0.00839803344727
0.00943482449707

و


static $Str_Test= '@#$%';
0.000744955444336
0.000746147537231
0.000795023345947
0.000818865203857
0.000820057296753
0.000836985015869
0.000838985015869
0.000841038131714
0.000963108442421
0.000974075698185

پس تا جایی که امکان داره Static کار کنید :چشمک:
منبع: http://forum.iranphp.org

mst_ab
شنبه 05 دی 1388, 18:53 عصر
میشه کمی در مورد متغیر های استاتیک توضیح بدید؟

h.emamie
یک شنبه 06 دی 1388, 09:34 صبح
با عرض پوزش از Yousha (http://barnamenevis.org/forum/member.php?u=78402) عزيز ولي بايد به عرض برسانم كه اين كه نشد مقايسه ، شما دو تا دستور نوشتي و بعدش هم يك ليست عدد و در نهايت هم نتيجه گرفتي كه هميشه بايد از static استفاده كنيم ، حداقل مثالي كه با اون به اين نتيجه رسيدي رو مي گزاشتي تا بقيه هم بدونند ملاك مقايسه و شرايط مقايسه چي هست .

نكته دوم اين كه متغيرهاي static به طور خاص براي كلاس ها تعريف شده اند و استفادشون در كلاس ها است ، و در كلاس ها هم در شرايط خودشون كاربردي هستند و هميشه نمي شه ازشون استفاده كرد .


تعريف متغير استاتيك :
شما متغيرهاي يك كلاس رو در نظر بگيريد ، وقتي كه كه يك شي ساخته مي شود ، يك كپي از تمام متدها و متغيرهاي آن كلاس در شي ايجاد مي شود ، يعني به ازا هر شي متغير براي آن شي ايجاد مي شود ، ولي اگر يك متغير كلاس به صورت static تعريف شود ، اين متغير براي تمام اشيا مقدار ثابتي دارد و در واقع يك متغير وابسته به كلاس هست نه وابسته به شي ، يعني اگر 20 شي هم تعريف كرده باشيد ، از اين متغير فقط يك نسخه وجود دارد كه در تمام شي ها بصورت مشترك استفاده مي شود .

Yousha
دوشنبه 21 دی 1388, 10:00 صبح
با عرض پوزش از Yousha عزیز ولی باید به عرض برسانم که این که نشد مقایسه ، شما دو تا دستور نوشتی و بعدش هم یک لیست عدد و در نهایت هم نتیجه گرفتی که همیشه باید از static استفاده کنیم ، .
سلام،
خیر، من نگفتم همیشه. گفتم """""تا جایی که امکان داره Static کار کنید""""""
در مورد مثال هم، من همیشه نتیجه مقایسه رو میزارم(نه فقط من، همه).
http://forum.iranphp.org/search.php?action=finduserthreads&uid=34


نکته دوم این که متغیرهای static به طور خاص برای کلاس ها تعریف شده اند و استفادشون در کلاس ها است ، و در کلاس ها هم در شرایط خودشون کاربردی هستند و همیشه نمی شه ازشون استفاده کرد .
خیر، فقط برای کلاس نیست. و بواسطه کلاس هم بوجود نیومده.

تشکر.