metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-10-04 11:05 am

Random в .NET

Посетила мысль, что я не совсем понимаю, из каких соображений класс Random в дотнете не сделан статическим. Создавать экземпляры генераторов случайных чисел с разными начальными значениями, что-ли?

[identity profile] sbj-ss.livejournal.com 2012-10-04 07:51 pm (UTC)(link)
Ну а чего, вспомнилось из жизни. Надо было каждому сеансу пользователя приписать свой идентификатор. О безопасности речи в данном контексте не идёт. Во времена MS SQL 2000 использовалась newid(), но это десятикратное падение производительности. Переписано на random, причём на собственный - т.е. с наличием таблички состояния. Достоинство: а понятно вроде.
Была такая весёлая задачка: на Трубо Паскакале зажечь рандомные точки на экране и погасить назад, не используя память. Через randseed, да. А глобальный генератор не дал бы удалить триггер, он следит за флажком глобальности.
И вообще в базе можно сделать много больше, чем люди привыкли делать :)