Suorituskykymittaukset
Mitatkaa peräkkäisten ja rinnakkaisten streamien suorituskykyä tilastojen laskennassa.
Suorituskykymittaukset on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Suorituskykymittaukset mittaavat peräkkäisten ja rinnakkaisten streamien nopeuseroa.
Asetukset
Käyttäkää suurta tietojoukkoa, esimerkiksi miljoonia lukuja, ja mitatkaa summan ja keskiarvon suoritusajat.
Koodi: peräkkäinen suorituskykymittaus
Tässä mitataan peräkkäisen summan suorittamiseen kuluva aika.
import java.util.*;public class Main {
public static void main(String[] args) {
List<Integer> nums = new ArrayList<>();
for(int i=0;i<1_000_000;i++) nums.add(i);
long start = System.currentTimeMillis();
long sum = nums.stream().mapToLong(n -> n).sum();
long time = System.currentTimeMillis() - start;
System.out.println("Sequential sum=" + sum + " in " + time + "ms");
}
}
Koodi: rinnakkainen suorituskykymittaus
Tässä mitataan rinnakkaisen summan suorittamiseen kuluva aika. Suurilla tietojoukoilla sen pitäisi olla nopeampi.
import java.util.*;public class Main {
public static void main(String[] args) {
List<Integer> nums = new ArrayList<>();
for(int i=0;i<1_000_000;i++) nums.add(i);
long start = System.currentTimeMillis();
long sum = nums.parallelStream().mapToLong(n -> n).sum();
long time = System.currentTimeMillis() - start;
System.out.println("Parallel sum=" + sum + " in " + time + "ms");
}
}
Vertailu
Verratkaa aikoja: jos dataa on paljon ja laskenta kuormittaa suoritinta, rinnakkainen käsittely on nopeampaa. Pienillä listoilla peräkkäinen käsittely voi voittaa.
Koodi: keskiarvon suorituskykymittaus
Voitte mitata myös keskiarvon suorituskykyä nähdäksenne nopeuseron.
import java.util.*;public class Main {
public static void main(String[] args) {
List<Integer> nums = new ArrayList<>();
for(int i=0;i<1_000_000;i++) nums.add(i);
long start = System.currentTimeMillis();
double avg = nums.parallelStream().mapToInt(n -> n).average().orElse(0);
long time = System.currentTimeMillis() - start;
System.out.println("Parallel average=" + avg + " in " + time + "ms");
}
}
Suorituskykymittauksen tarkistus
Pikatarkistus: Milloin rinnakkaiset streamit yleensä parantavat suorituskykyä?
Kertaus
Kertaus: Mitattiin peräkkäisten ja rinnakkaisten streamien suorituskykyä. Rinnakkaiset streamit ovat tehokkaampia suurilla tietomäärillä, kun taas peräkkäiset voivat olla nopeampia pienillä.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Suorituskykymittaukset” ilmainen?
Kyllä – oppitunnin ”Suorituskykymittaukset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Suorituskykymittaukset”?
Mitatkaa peräkkäisten ja rinnakkaisten streamien suorituskykyä tilastojen laskennassa. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Suorituskykymittaukset”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Suunnittelu
- Toteutus
- Suorituskykymittaukset