Testy wydajności
Porównają Państwo wydajność strumieni sekwencyjnych i równoległych podczas obliczania statystyk.
Testy wydajności to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.
Wprowadzenie
Testy wydajnościowe mierzą różnicę prędkości między strumieniami sekwencyjnymi i równoległymi.
Konfiguracja
Należy użyć dużego zbioru danych, na przykład milionów liczb, i zmierzyć czas wykonania obliczeń sumy lub średniej.
Kod: test sekwencyjny
Ten przykład mierzy czas obliczania sumy sekwencyjnie.
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");
}
}
Kod: test równoległy
Ten przykład mierzy czas obliczania sumy równolegle. W przypadku dużych zbiorów danych obliczenia powinny być szybsze.
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");
}
}
Porównanie
Należy porównać czasy: jeśli dane są duże, a obliczenia obciążają procesor, przetwarzanie równoległe jest szybsze. W przypadku małych list szybsze może być przetwarzanie sekwencyjne.
Kod: test średniej
Można również zmierzyć czas obliczania średniej, aby sprawdzić różnicę prędkości.
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");
}
}
Sprawdzenie testów wydajnościowych
Szybkie sprawdzenie: Kiedy strumienie równoległe zazwyczaj zapewniają wzrost wydajności?
Podsumowanie
Podsumowanie: Zmierzono wydajność strumieni sekwencyjnych i równoległych. Przetwarzanie równoległe wygrywa przy dużych ilościach danych, natomiast przy małych szybsze może być sekwencyjne.
Często zadawane pytania
Czy lekcja „Testy wydajności” jest bezpłatna?
Tak — pełny tekst „Testy wydajności” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Testy wydajności”?
Porównają Państwo wydajność strumieni sekwencyjnych i równoległych podczas obliczania statystyk. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.
Ile czasu zajmuje lekcja „Testy wydajności”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Projektowanie
- Implementacja
- Testy wydajności