Primeiros benchmarks do Swift mostram que linguagem pode não ser tão rápida quanto previsto
O desenvolvedor Jukka Suomela escreveu um post no site Stack Overflow descrevendo suas conclusões na implementação de um algoritmo em Swift.
De acordo com a Apple, um dos grandes benefícios da linguagem Swift↳Swift13 conteúdosSwift 6: Segurança na Corrida de Dados — AtoresDev (Back & Front) · jan 2025Swift no Server-Side: o crescimento do Swift além do iOSDev (Back & Front) · mai 2026IA e Machine Learning com SwiftDev (Back & Front) · out 2025Ver tudo em Dev (Back & Front) →, desenvolvida para Cocoa e Cocoa Touch, é o desempenho. Entretanto, as primeiras experiências e testes de performance executados por desenvolvedores independentes mostraram que, em alguns casos, o desempenho da linguagem Swift ainda não é satisfatório.
O desenvolvedor Jukka Suomela escreveu um post no site Stack Overflow descrevendo suas conclusões na implementação de um algoritmo em Swift. Segundo ele, o desempenho foi bem abaixo do que em outras linguagens. Por meio dessa analise, Jukka demonstrou que o gargalo no seu código vinha de uma tarefa simples: ordenar um vetor.
Para realizar a ordenação de 1 milhão de números aleatórios, foi necessário aguardar 6 segundos quando escrito em Swift, contra 0,06 segundo em C++ e 0,6 segundo quando o mesmo código foi escrito em Python. Os resultados foram obtidos compilando o código com -03 nível de otimização, normalmente utilizado pelo Xcode para compilar os projetos. Quando as otimizações do compilador estão completamente desativadas, correspondentes à flag -00, que é usada pelo Xcode para debug, o mesmo processo de classificação levou 88 segundos, de acordo com Jukka.
As descobertas dele foram confirmadas por outros desenvolvedores que se juntaram à conversa no Stack Overflow. O desenvolvedor sjeohp implementou o algoritmo de Quicksort para descobrir que a linguagem Swift era aproximadamente mil vezes mais lenta que C sem as otimizações do compilador habilitadas (-Onone). Por outro lado, ele descobriu que a linguagem Swift é ligeiramente mais rápida que C quando são aplicadas as otimizações agressivas (-Ofast) do compilador. Resultados semelhantes foram reportados em um segundo post no Stack Overflow, no qual era descrito o teste de processamento de imagens.
De acordo com a documentação LLVM, as otimizações agressivas ignoram estritamente o padrão. -Ofast habilita todas -O3 otimizações e o -ffast-math, que ignora as especificações IEEE ou ISO para operações matemáticas, levando a uma possível saída errada nos programas que necessitam das garantias dessas especificações. Além disso, -Ofast desabilita as verificações de overflow de inteiros e estouros de posições de vetores, reduzindo drasticamente os recursos de segurança da linguagem Swift.
Jukka também inspecionou o código assembly gerado pelo compilador em outro teste, e descobriu que um simples loop em um vetor poderia ocasionar muitas chamadas de gerenciamento de memória (reter e liberar) que seriam totalmente desnecessárias.
Muitos desenvolvedores apontam que a linguagem Swift continua na sua fase beta, o que poderia ser uma boa explicação para o comportamento atual dos programas desenvolvidos com Swift. Especificamente, o comportamento descrito com as desnecessárias chamadas de reter/liberar sugerem que os bugs de otimização ARC poderiam ser resolvidos sem a necessidade de otimizações agressivas.
Enquanto a linguagem estiver em beta, a Apple não vai permitir que os desenvolvedores enviem os aplicativos feitos em Swift para revisão. A versão final do Xcode está prevista para ser lançada no próximo outono do hemisfério norte.
Com informações de InfoQ
O desafio das APIs de pagamento instantâneo no backend moderno
Desafio das APIs | Pagar uma conta em segundos… conta de uma demanda que cresceu muito mais rápido do que os sistemas tradicionais conseguiam acompanhar.







Redação iMasters





