Wpis z mikrobloga

@NiepodlegleWybrzezeKlatkiSchodowej: Do brania losowych liczb i danych używaj ThreadLocalRandom, jest szybszy niż Random, wygodniejszy w obsłudze i działa tak jak oczekujesz.

jshell> ThreadLocalRandom tl = ThreadLocalRandom.current();
tl ==> java.util.concurrent.ThreadLocalRandom@3fee9989

jshell> tl.nextInt();
$2 ==> 2066030701

jshell> tl.nextInt();
$3 ==> 1575068897

jshell> tl.nextInt();
$4 ==> 46233694
@interface
Szybsze? Ma Pan dowód?
Nawet jeśli szybsze o pół procenta, to takie mikrooptymalizacje są bez sensu.
Łatwiejsze w obsłudze? W jaki sposób? Z telefonu mnie się javadoców nie chce przeglądać, a widzę, że dziedziczy po java.util.Random. Ma jakieś dodatkowe fajne metody?
@sorhu: http://java-performance.info/java-util-random-java-util-concurrent-threadlocalrandom-multithreaded-environments/

As you can see, Random results are terrible - it needs 284 times more CPU cycles to finish the same task! Nearly each of these cycles was stalled in the CPU pipeline. In the reality, only 42.8 billion (10^9) instructions were executed using these 2.55 trillion (10^12) cycles, thus exposing the terrible performance - 0.02 instructions executed per cycle (good non IO-based software should execute at least 1 instruction
@interface
Piwko, piwko, niech Ci będzie.

No ale 25% różnicy na randomie to jest mikrooptymalizacja. Bo chyba, że program nie robi nic innego, tylko losuje liczby. ( ͡° ͜ʖ ͡°)

Ale spoko, doczytam potem, zapoznam się i będziemy mogli pogadać. ( ͡° ͜ʖ ͡°)

A zanim to zrobię, to w trzech słowach powiesz, gdzie ta wygoda? ( ͡ ͜ʖ ͡
Bo chyba, że program nie robi nic innego, tylko losuje liczby. ( ͡° ͜ʖ ͡°)


@sorhu: spójrz na jego kod źródłowy XD jego program nic nie robi tylko losuje liczby i przypisuje je do zmiennych XD
@interface
Oj tam, o poważnych programach rozmawiajmy, a nie o pierdołach. A w poważnym programie 25% zysku na randomie to nic, bo największą strata i tak jest na I/O.

A co do reszty argumentów, to jak jak pisałem. Zapoznam się z materiałami i wrócimy do tej dyskusji. ( ͡° ͜ʖ ͡°)
@sorhu: pf, zależy co to za "poważny program", I/O czasem sobie siedzi w innym wątku i nikomu nie przeszkadza, a kod musi #!$%@?ć!

@interface: z tym kompatybilny to bym nie przesadzał, bo działa kompletnie inaczej i jeśli nie interesują nas po prostu losowe liczby, tylko jakiś ciekawszy algorytm, to musimy dalej używać Random. :<
GDZIE MOJE DARMOWE NANOSEKUNDY!!!!