Para selecionar qual método de medição usar, considere primeiro o motivo para medir o tempo de execução. Os motivos mais comuns para medir o tempo de execução são refinar estimativas, otimizar código, analisar o desempenho em tempo real e depurar erros de tempo.
Estimativas de refino são geralmente feitas durante a fase de projeto ou no início da fase de implementação. As estimativas podem ser usadas para selecionar qual processador usar ou para obter números de estimativa de quantas iterações de uma função específica podem ser executadas por segundo. Medições de grãos grossos podem fornecer algumas dessas respostas com bastante rapidez.
Às vezes, as medições podem até ser feitas no processador host, com um fator de escala aproximado para o processador de destino . A otimização do código pode usar métodos de granulação grossa ou métodos de granulação fina, dependendo do que está sendo otimizado. Se a otimização for em escala global, como decidir se seria mais rápido usar arrays ou listas vinculadas em um aplicativo específico, uma técnica de granulação grossa para medir o tempo de execução de funções completas geralmente é suficiente.
Por outro lado, para otimizações localizadas, como aquelas que são específicas de um processador de destino e ocorrem durante os estágios finais de desenvolvimento ou ao tentar ajustar um aplicativo, uma técnica de granulação fina que pode medir o tempo de execução de um único linha de código é geralmente necessária. A análise do desempenho em tempo real pode usar uma técnica de granulação grossa, mas muitas vezes apenas técnicas de granulação fina podem fornecer a precisão necessária. A precisão precisa ser pelo menos cinco a dez vezes mais rápida que o período da tarefa mais rápida.
Para selecionar qual método de medição usar, considere primeiro o motivo para medir o tempo de execução. Os motivos mais comuns para medir o tempo de execução são refinar estimativas, otimizar código, analisar o desempenho em tempo real e depurar erros de tempo.
Estimativas de refino são geralmente feitas durante a fase de projeto ou no início da fase de implementação. As estimativas podem ser usadas para selecionar qual processador usar ou para obter números de estimativa de quantas iterações de uma função específica podem ser executadas por segundo. Medições de grãos grossos podem fornecer algumas dessas respostas com bastante rapidez.
Às vezes, as medições podem até ser feitas no processador host, com um fator de escala aproximado para o processador de destino . A otimização do código pode usar métodos de granulação grossa ou métodos de granulação fina, dependendo do que está sendo otimizado. Se a otimização for em escala global, como decidir se seria mais rápido usar arrays ou listas vinculadas em um aplicativo específico, uma técnica de granulação grossa para medir o tempo de execução de funções completas geralmente é suficiente.
Por outro lado, para otimizações localizadas, como aquelas que são específicas de um processador de destino e ocorrem durante os estágios finais de desenvolvimento ou ao tentar ajustar um aplicativo, uma técnica de granulação fina que pode medir o tempo de execução de um único linha de código é geralmente necessária. A análise do desempenho em tempo real pode usar uma técnica de granulação grossa, mas muitas vezes apenas técnicas de granulação fina podem fornecer a precisão necessária. A precisão precisa ser pelo menos cinco a dez vezes mais rápida que o período da tarefa mais rápida.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar