C++11의 random 성능 및 distrition 객체의 사용시 마다 생성 문제

c++11의 random 객체의 일반적인 예제를 보면 uniform_int_distribution 객체를 사용하는것이 보이는데
랜덤 변수 하나를 뽑을 때마다 해당 객체를 생성하는 형태로 만들어져 있다.

정말 저래도 괜찮은 걸까..? 테스트를 해봤음.

C의
rand() % 100 + 100

C++의

uniform_int_distribution<int> distribution(100, 199);
distribution(_generator);

코드를 첨부하긴 귀찮고.. 하여간 해봤을때

visual studio 2019에서 디버그 모드는 c++11의 코드가 느렸지만
릴리즈 모드는 서너빼 빠름

신박..

distribution 의 초기화 문제뿐 아니라 랜덤넘버 생성도 c++11은
mersenne_twister 를 쓰는데 우째 더 빠르지..

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다