Referências de desempenho
Compare o desempenho de fluxos sequenciais e paralelos para calcular estatísticas.
Referências de desempenho é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 3 aulas no total.
Introdução
Avaliações de desempenho medem a diferença de velocidade entre fluxos sequenciais e paralelos.
Configuração
Utilize um conjunto de dados grande (por exemplo, milhões de números) e meça o tempo de execução para soma e média.
Código: avaliação sequencial de desempenho
Isso mede o tempo da soma sequencial.
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");
}
}
Código: avaliação paralela de desempenho
Isso mede o tempo da soma paralela. Em conjuntos de dados grandes, ela deve ser mais rápida.
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");
}
}
Comparação
Compare os tempos: se os dados forem grandes e limitados pela CPU, o processamento paralelo será mais rápido. Para listas pequenas, o sequencial pode vencer.
Código: avaliação da média
Também é possível avaliar o desempenho das médias para observar a diferença de velocidade.
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");
}
}
Verificação da avaliação de desempenho
Verificação rápida: quando os fluxos paralelos geralmente apresentam ganhos de desempenho?
Recapitulação
Recapitulação: foram avaliados fluxos sequenciais e paralelos. O paralelismo vence com dados grandes; o sequencial pode ser mais rápido com dados pequenos.
Perguntas Frequentes
A aula “Referências de desempenho” é grátis?
Sim — o texto completo de “Referências de desempenho” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 3 aulas no total.
O que vou aprender em “Referências de desempenho”?
Compare o desempenho de fluxos sequenciais e paralelos para calcular estatísticas. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Referências de desempenho”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Design
- Implementação
- Referências de desempenho