After a google search, it seems like this question has been asked to death, yet no clear answer was given; instead, lots of people dodged the question by saying "why do you need it so fast?" or "you need to call srand only once." I understand if it's too complex to answer in one reply, but I doubt it.
All that said, I'll ask again: how do you generate numbers faster than just using time(0) as the seed value of srand?
The seed value doesn't affect the time it takes to generate random numbers. The implementation of std::rand() can differ between different systems so it could be fast or slow, good or bad.