웹마스터 팁
page_full_width">
rand함수와 mt_rand함수의 비교
2004.07.30 07:53
<?
for($i=0; $i<10000000; $i++) {
$rand=rand(1,2) + $rand;
$mt_rand=mt_rand(1,2) + $mt_rand;
}
$rand = $rand/10000000;
$mt_rand = $mt_rand/10000000;
echo "rand() : $rand
";
echo "mt_rand() : $mt_rand";
?>
이렇게 초기화하지 않고 실행해 보았습니다.
1.5에 가까울수록 좋…
1회(1000만번)
rand() : 1.4999938
mt_rand() : 1.499917
2회(2000만번)
rand() : 1.500004
mt_rand() : 1.4998595
3회(3000만번)
rand() : 1.4999983
mt_rand() : 1.4998941
4회(4000만번)
rand() : 1.4999975
mt_rand() : 1.5002273
5회(5000만번)
rand() : 1.4999962
mt_rand() : 1.4999263
rand 함수의 평균값 : 1.49999796 (1.5 - 0.00000204)
mt_rand 함수의 평균값 : 1.49996484 (1.5 - 0.00003516)
'mt_rand가 향상된 난수값을 발생시킨다'라고 되어 있지만 rand가 더 낫네요.
그저 속도만 더 빠른 것이었나… 물론 직접 초기화한 값은 다르겠지만,
나는 귀차니스트
for($i=0; $i<10000000; $i++) {
$rand=rand(1,2) + $rand;
$mt_rand=mt_rand(1,2) + $mt_rand;
}
$rand = $rand/10000000;
$mt_rand = $mt_rand/10000000;
echo "rand() : $rand
";
echo "mt_rand() : $mt_rand";
?>
이렇게 초기화하지 않고 실행해 보았습니다.
1.5에 가까울수록 좋…
1회(1000만번)
rand() : 1.4999938
mt_rand() : 1.499917
2회(2000만번)
rand() : 1.500004
mt_rand() : 1.4998595
3회(3000만번)
rand() : 1.4999983
mt_rand() : 1.4998941
4회(4000만번)
rand() : 1.4999975
mt_rand() : 1.5002273
5회(5000만번)
rand() : 1.4999962
mt_rand() : 1.4999263
rand 함수의 평균값 : 1.49999796 (1.5 - 0.00000204)
mt_rand 함수의 평균값 : 1.49996484 (1.5 - 0.00003516)
'mt_rand가 향상된 난수값을 발생시킨다'라고 되어 있지만 rand가 더 낫네요.
그저 속도만 더 빠른 것이었나… 물론 직접 초기화한 값은 다르겠지만,
나는 귀차니스트
댓글 6
-
플로렐라
2004.07.30 08:53
겨우 1, 2가지고는 정확도가-_-..; -
☺심심
2004.07.30 10:47
ㅡㅡ;
심심하셨군..;
(딴지아녜요) -
앳플군
2004.07.30 20:25
난수 생성의 원리는 뭘까~요?
어쨋든 컴퓨터는 인공지능 따위가 없기에, 난수 생성의 원리는 난수표에 있습니다. mt_rand 함수의 난수표가 훨씬 랜덤스럽죠.
.. 따라서 mt_rand 함수가 더 랜덤하게 뽑는다고 말하는 겁니다. -
TheMics
2004.07.30 14:03
평균이 아니라 표준편차를 비교해야지요;
그리고 어느 것이 더욱 좋은 난수를 발생하는가에 대한 물음은 "같다"라고 보시면 됩니다.
예전 버전에서는 mt_rand가 확실히 좋았습니다만 PHP가 버전업되면서
mt_rand()가 조금 빠르다 뿐이지 난수값에 있어서는 큰 차이가 없습니다. -
Pe-i
2004.08.01 21:34
평균을 비교하면...;
랜덤은 얼마나 더 평균차가 작냐보단 얼마나 더 다양하게가 중요 'ㅇ'!...
앳플군//어멋 난수표 'ㅇ'~? -
양영직
2004.11.01 03:03
안타깝게도 컴퓨터는 인간이 시키는 일만해서 스스로 난수를 생각해낼 능력이 없습니다-_-;......
제목 | 글쓴이 | 날짜 |
---|---|---|
폰갭 제작 어플 gcm 발송시 변수 | 웹빌드 | 2014.03.04 |
xe 홈페이지 폰갭으로 묶을때 | 웹빌드 | 2014.03.03 |
방명록 댓글 줄바꿈 | 메디칼온 | 2014.03.03 |
스케치북5 모바일 댓글 작성시 엔터를 쳤을 때 <br /> 코드 뜨는 문제 해결 [7] | oryan | 2014.02.23 |
홈페이지 접속자, 글(댓글) 작성자 국가 국기 표시 적용 방법
[19]
![]() | 라싸 | 2014.01.08 |
[팁 시리즈 2] 한글 도메인이나 영문 도메인 설정을 잘못 건드려서 사이트의 모든 기능이 거의 먹통입니다! | Omega3 | 2014.03.01 |
[팁 시리즈 1] 웹 사이트 이전 및 복구/백업(이)가 되지 않습니다! [6] | Omega3 | 2014.02.28 |
정규식 문법 | 웹엔진 | 2014.02.28 |
썸네일 생성시 crop 이 상단 기준으로 생성되게 하는 방법 [5] | sejin7940 | 2013.10.04 |
기초설명_알고리즘(algorithm) [2] | ifnelse | 2008.07.28 |
사이트 url에 자꾸 index.php 가 붙어다닐때
[7]
![]() | 마시멜 | 2011.05.01 |
누리고 + KCP 결제 모듈 사용시 "연동 모듈 호출 오류" 가 날때 [1] | idkiller | 2014.02.26 |
페이지가 갑자기 하얀화면으로 나올경우에는 이렇게 해보십시오.
[9]
![]() | 하나로45 | 2007.12.13 |
카카오스토리 링크
[14]
![]() | 맞장 | 2014.02.15 |
스케치북5 게시판 스킨 사용시 모바일 코멘트 수정이 전혀 안되는증상 [24] | AJKJ | 2014.01.05 |
Specify image dimensions | socialskyo | 2014.02.26 |
모바일 게시판에서 이미지 리사이즈 적용방법 [6] | socialskyo | 2014.02.24 |
회원가입 확장 모듈 1.7.X 및 모바일에서 사용가능하도록
[10]
![]() | hhgyu | 2013.03.18 |
textyle에서 카카오 보내기 버튼 넣기 | 웹빌드 | 2014.02.24 |
부트스트랩 레이아웃 제작시 메뉴 코딩팁 | 웹빌드 | 2014.02.23 |