Profile your applications

Description

70-483 C# Flashcards on Profile your applications, created by Thiago Russo on 29/05/2017.
Thiago Russo
Flashcards by Thiago Russo, updated more than 1 year ago
Thiago Russo
Created by Thiago Russo almost 7 years ago
6
0

Resource summary

Question Answer
O que é "Profiling"? Ao olhar para um problema de desempenho, a única forma real de encontrar e medindo. Normalmente, desempenho é visto como a qtde de tempo que algo demora. E isso não é o único critério de desempenho. Profiling é o processo de determinar como seu aplicativo utiliza certos recursos. Vc pode verificar, por ex, qta memória o programa usa, quais métodos estão sendo chamados, e qto tempo cada método leva para executar. Essas informações são necessárias qdo vc tem um gargalo de desempenho e quer encontrar a causa.
Não entre em otimizações prematuras Com desempenho, uma coisa é sempre verdade: Não entre em otimizações prematuras. Se preocupar se algum algoritmo será + rápido do q o outro algoritmo poderia ser importante, mas se vc não tiver "profiled" seu aplicativo, não vai nem saber se esse algoritmo é o gargalo de sua aplicação. Devido a isso, a orientação é para escrever o código tão simples e fácil de manter possível. Qdo vc tiver problemas de desempenho, pode usar um profiler para realmente medir qual parte do seu aplicativo está causando problemas.
StopWatch
ferramentas de profiling do VS
Ao traçar o perfil (profilling) seus aplicativos, você tem quatro opções: ■ CPU sampling (amostragem CPU): Esta é a opção + leve. Tem pouco efeito sobre a aplicação. Vc usa para uma pesquisa inicial para os seus problemas de desempenho. ■ Instrumentation (Instrumentação): Este método injeta código em seu arquivo compilado que captura informações de tempo para cada função que é chamada. Com instrumentação, vc pode encontrar problemas q têm a ver com entrada/saída (I / O) ou vc pode examinar rigorosamente um método particular. ■ .NET memory allocation (alocação de memória .NET): Este método interrompe/suspende seu programa cada vez q o aplicativo aloca um novo objeto ou qdo o objeto é coletado pelo coletor de lixo para te dar uma boa ideia de como a memória está sendo usado em seu programa. ■ Resource contention data (dados de contenção de recursos): Este método pode ser usado em aplicações multithreaded para descobrir por que os métodos têm q esperar para o outro antes q eles possam acessar um recurso compartilhado.
exemplo de profiler report aplicado ao exemplo do Stopwatch
Show full summary Hide full summary

Similar

Porova teórica C# mod l
Cursos Professor Jonatã
Linguagem C#
Alex Araujo Furado
Prova teorica C# mo ll
Cursos Professor Jonatã
Entity framework - code first
José Fernandes
Flashcard Módulo 1 - XAMARIN LATINO AMERICA
Marcone Barbosa
Entity framework
José Fernandes
C# and ASP.NET
Kalebi Fiorentini
Linguagens de programação
Rodrigo Barbosa7452
Conceitos do ASP.NET CORE (Incompleto)
José Fernandes Rezende Neto
Dates and times .NET
Felipe Couto Viola
Fluxo Game UC 8
Lucas Coluzzo