Archive

Archive for May, 2009

Tyxo

May 18th, 2009 BornToDrink No comments

Втори ден се върти един надпис, при опит да се отвори tyxo.bg:
Can’t use tyxobg : Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
Напоследък нямат равен по скапване на сайта.
Не случайно спрях да им ползвам “услугите”, но все пак, налага се да ги гледам за други сайтове, уви – неуспешно. :D

Categories: web Tags:

rand() vs mt_rand()

May 16th, 2009 BornToDrink No comments

След бурния работен ден, дойде време за програмистките простотии. :D

След леко обсъждане на random функциите, попаднахме на текст в официалния сайт на PHP за функцията mt_rand:

It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides.

Викам си, аз като по-прост винаги ползвам rand(), а тва щом е 4 пъти по-бързо, трябва да се провери.

Пукнах един цикъл до 100 милиона, като на всеки лууп ми връща рандом число от 0 до 9, като си записвам кое – колко пъти се е паднало, все пак да видим какви отклонения дава.

Ето резултатите:
rand();
153 секунди

[0] => 10000600
[1] => 10000623
[2] => 10000576
[3] => 10000620
[4] => 9997513
[5] => 10000644
[6] => 10000631
[7] => 10000613
[8] => 10000594
[9] => 9997586

mt_rand();

158 секунди

[0] => 9997674
[1] => 9997916
[2] => 9999332
[3] => 10002212
[4] => 9998813
[5] => 10001643
[6] => 9997000
[7] => 10006814
[8] => 10004464
[9] => 9994132

Ясно се вижда, че в тази ситуация, не само е по-бавен mt_rand(), ами дава и по-големи отклонения.

Пробвах скрипт и с произволно число от 0 до 999999, пак със 100 милиона луупа и времето, за което се изпълни беше сходно като разлика между двете.

За мен rand() си остава по-яката функция… пък и е по-кратка, ебаси… :D

Categories: Versus Tags: , ,