BT

Suíte de benchmarking Swift agora é open source

| por Sergio De Simone Seguir 12 Seguidores , traduzido por Diogo Carleto Seguir 31 Seguidores em 29 fev 2016. Tempo estimado de leitura: 2 minutos |

A Apple abriu o código fonte da suíte de benchmarking do Swift, uma peça chave para monitorar o desempenho do Swift e capturar a regressão de desempenho quando adicionadas novas funcionalidades na linguagem.

A suíte de benchmarking do Swift é uma coleção de arquivos fontes Swift que implementam suítes de testes e funções auxiliares de benchmarking, além de uma série de scripts Python que implementam uma série de testes e comodidades para comparações de métricas.

A Apple sugere executar a suíte de benchmarking antes de fazer o commit de qualquer mudança que pode impactar o desempenho, e antes de enviar um pull request, que é realizado antes de passar o --benchmarkflag para o build-script. O script de automação de build do Swift é responsável por tarefas básicas como construir uma aplicação Swift LLDB compatível, construindo para uma determinada plataforma, executando testes após a compilação, etc. Isso deve ajudar a capturar potenciais regressões de desempenho. A fim de dar sentido aos resultados de benchmark, pode ser útil primeiramente avaliar os resultados de um benchmark em uma branch principal e usa-los como base, então executar novamente na branch de desenvolvimento, onde os resultados serão automaticamente comparados com a execução anterior.

Por padrão, somente benchmarks Swift para o OS X são compilados, porém plataformas adicionais podem ser especificadas através de linhas de comando como:

$ swift/utils/build-script --ios --watchos --tvos

Ao usar o benchmark driver, os desenvolvedores podem controlar o número de interações em cada amostra de teste e o número de amostras para cada teste, como por exemplo:

$ ./Benchmark_O --num-iters=1 --num-samples=1

Como o engenheiro da Apple Luke Larson escreveu, atualmente, a suíte de benchmarking do Swift inclui 75 benchmarks, porém a Apple está encorajando contribuições para novos benchmarks, novas bibliotecas de ajuda e melhorias em geral. Um requisito importante para contribuições segundo Larson é que as contribuições devem estar sob a mesma licença do Swift. Sendo assim benchmarks sob outros tipos de licença não podem ser aceitos.

A suíte de benchmarking do Swift atualmente não está integrada com o recente anunciado sistema de integração contínua (Swift CI), que constrói e executa testes para o OS X, iOS e distribuição Linux Ubuntu x86_64. Com base no Jenkins, o Swift CI tem como objetivo ser flexível para suportar mais plataformas e arquiteturas vindas a comunidades de desenvolvimento Swift. O Swift CI permite a execução de testes dentro de um pull request, como por exemplo antes de fazer commit na branch principal, e notifica falhas para o desenvolvedor responsável. De acordo com Larson, a suíte de benchmarking do Swift será integrada com o Swift CI no futuro.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT