Stránka 1 z 1

Jak využít CPU na 100% v Javě

Napsal: 31 kvě 2018 16:06
od ClearSky
Ahoj, rád bych poprosil o radu, jak nejlépe vytížit CPU na 100%, nějakým složitým výpočtem apod., abych mohl po skončení změřit čas a porovnat výsledky... Děkuji

Re: Jak využít CPU na 100% v Javě

Napsal: 31 kvě 2018 16:13
od satik
Budes potrebovat zatizit vsechny jadra, takze budes potrebovat se treba naucit s vlaknama.

Re: Jak využít CPU na 100% v Javě

Napsal: 28 čer 2018 20:50
od ClearSky
Ještě to oživím s jednou otázkou... Přemýšlím, jak změřit přenosovou rychlost RAM paměti... Nějaký nápad?

Re: Jak využít CPU na 100% v Javě

Napsal: 28 čer 2018 21:29
od satik
kopirovat velky pole dat :)

Re: Jak využít CPU na 100% v Javě

Napsal: 28 čer 2018 21:34
od ClearSky
Budu mít pole o velké velikosti naplněný intama a zkopíruju to do druhýho a změřím...? to je vše?

Re: Jak využít CPU na 100% v Javě

Napsal: 28 čer 2018 21:39
od satik
nejjednodussim zpusobem ano. Jen si ohlidej, abys zacal merit cas az kdyz to druhe pole existuje a nemeril tak i treba cas, po kterej se alokovalo (a java ho nulovala).

Re: Jak využít CPU na 100% v Javě

Napsal: 28 čer 2018 21:56
od ClearSky
Jdu správným směrem?

Kód: Vybrat vše

int[] pole1 = new int[99999999];
        int[] pole2;
        long start1 = System.currentTimeMillis();
        pole1[0] = 1;
        for (int i = 0; i < pole1.length; i++) {
            pole1[i] = i + 1;
        }
       
      pole2 = pole1.clone();
       
        long konec1 = System.currentTimeMillis() - start1;

Re: Jak využít CPU na 100% v Javě

Napsal: 29 čer 2018 10:15
od satik
Ne, pole2 ještě není naalokovany, když zapinas stopky. Taky bacha, aby ti to kompilátor neodoptimalizoval (= celý to kopírování pole nepřeskočil)) když s nakopírovaným polem dál nic neděláš :)

Ono to není taková sranda tyhle věci :)

Re: Jak využít CPU na 100% v Javě

Napsal: 29 čer 2018 18:24
od faraon
Tohle sice není přesně to co hledáš, ale spíš zajímavost pro inspiraci: http://blog.i-logout.cz/retrobenchmarking.php