생물 정보학 목적으로 사용되는 C 기반 코드를 최적화하려고합니다. 계산의 주요 부분에 몬테카를로 반복을 사용합니다. 이전에 random2()를 사용하여 난수를 생성 했으므로 속도가 느려졌습니다. 철저한 연구 끝에 mersenne twister 및 sfmt가 더 효율적인 난수 생성기임을 알게되었습니다. 그러나, 나는 그들을 코드에서 사용하려고 시도했다. 그리고 그들은 속도의 차이를 크게 만들지 않는 것처럼 보인다. 프로그램이 각 반복마다 10 번 이상 발전기를 사용한다는 사실을 감안할 때 발전기를 변경하면 속도에 아무런 변화가없는 이유를 알 수 없습니다.SFMT와 Mersenne Twister 및 Ran2의 비교
아무도 내가 잘못 가고 있다고 말할 수 있습니까?
하지 사용하여 프로파일 :
이 말했다되고, 여기에 몇 가지 발전기의 비교입니까? – jv42
나는 있습니다. 난수 생성은 확실히 시간 소비의 큰 부분을 차지합니다. 하지만 난 그런 경우에, 임의의 숫자 생성기를 변경하는 것은 어떤 차이를 만들지에 관해서는 우둔입니다. – user1105630
당신은 어떤 어리석은 함수 (연속적인 숫자를 반환하는 것과 같은)로 RNG를 가짜로 시험해보고 충격을 검사 할 수 있습니다. 아마도 프로파일 링이 충분히 정확하지 않을 수 있습니다. – jv42