Я провів тести з секундоміром. 100 000 ітерацій:
System.Random rnd = new System.Random();
if (rnd.Next(2) == 0)
trues++;
Процесори люблять цілі числа, тому метод Next (2) був швидшим. 3700 проти 7500 мс, що є досить значним. Крім того: я думаю, що випадкові числа можуть бути вузьким місцем, я створив близько 50 кожного кадру в Unity, навіть з крихітною сценою, яка помітно сповільнила мою систему, тому я також сподівався знайти метод для створення випадкового булу. Тож я теж спробував
if (System.DateTime.Now.Millisecond % 2 == 0)
trues++;
але виклик статичної функції був ще повільнішим - 9600 мс. Варто пострілу. Нарешті, я пропустив порівняння і створив лише 100 000 випадкових значень, щоб переконатися, що порівняння int та double не впливає на минулий час, але результат майже однаковий.