muszę być w stanie uratować/stan obciążenia tego doładowania generatora:Szybsza alternatywa niż przy użyciu strumieni zapisać zwiększyć losowy generator stan
boost::variate_generator<boost::mt19937, boost::random::uniform_real_distribution<> > generator;
zrobić to w ten sposób:
std::ostringstream content;
content << this->generator.engine();
Problem polega na tym, że jest to niesamowicie powolne, czy nie ma jakiegoś alternatywnego sposobu przechowywania? (Lub uzyskać dostęp do danych generatora losowego w formacie macierzystym). Ten kod jest zamknięty w naszej klasie RandomGenerator
, więc może być trochę nieprzyjemny.
Ten zapis zajmuje około 0,13 milisekund na moim komputerze Mac mini 2,26 GHz. Jak szybko musi być? – rhashimoto
I dunno, 293800 Cykle procesora wydają się być od dawna! – Yakk
Wygląda na to, że jedynym sposobem na zapisanie i przywrócenie stanu jest strumień. Aby zwiększyć wydajność, możesz napisać swój własny strumień (dziedziczą z 'std :: streambuf') i przeczytać go lub wyszukać boost :: iostreams. –