Сильно ли использование srand(time(NULL))
замедляет код, если эта функция выполняется в цикле наряду с остальным кодом? (примерно 10000 итераций в секунду, комп обычный)
Функция rand()
будет использоваться ~500 000 000 раз
Главное - если в цикле, который выполняется 1000 итераций в секунду, выполнять srand
, вы будете получать по 1000 одинаковых "случайных" чисел.
rand()
вычисляет очередное случайное число на основании предыдущего значения, ну, а srand
это предыдущее значение устанавливает. Поскольку обычно time(NULL)
возвращает значение времени в секундах, получается, что в пределах одной секунды все ваши rand()
будут одинаковы. Да и в разные секунды получаемые числа могут быть не случайны - все же они получаются из последовательных значений.
srand(time(NULL))
должен вызываться один-единственный раз.
Чтобы оптимизировать код, эту функцию стоит вызвать 1 раз перед циклом, все равно при каждом запуске программы рандомизация будет разной. Кстати желательно использовать вместо NULL nullptr . Ну и соответсвтенно оптимизация будет равна = (кол-во итераций)*(кол-во тиков для выполнения функции). Сколько тиков стоит эта функция я не знаю, однако т.к. она в цикле постоянно вызывается, должна стоить в сумме дорого.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На данный вопрос уже ответили:
не могу понять , в чём ошибка , пытаюсь просто для начала вывести id из БД oracle
При попытке подключения к imap mailru выплевывает ошибку CURLE_LOGIN_DENIED, пробовал различные комбинации логина (с хостом и без) тот же результат, есть...