Здравствуйте, Эйнсток Файр, Вы писали:
vsb>> у меня получилось не с первого раза
ЭФ>Да, лишнее было создание объекта-точки в куче.
На самом деле нет.
long hits = stream
.filter(iteration -> {
var random = ThreadLocalRandom.current();
double x = random.nextDouble();
double y = random.nextDouble();
return x * x + y * y <= 1;
})
.count();
Вот этот код работает в 2.5 раза медленней. Почему — не знаю. Видимо особенности реализации стримов. Вообще Java тут в каком-то плане свинью подкладывает, не самый лучший язык для таких вещей. Предполагаю, что на Rust всё будет гораздо лучше оптимизироваться (но проверять это, конечно, я не буду).