Postagem em destaque

Huguinho e Zezinho surfando com granizo

Imagem
Certa vez, em outubro de 2023, Huguinho e seu amigo Zezinho foram surfar no final da tarde. O vento estava forte e a chuva, constante. Quando chegaram perto da praia, mal conseguiam segurar suas pranchas. O mar estava bem mexido, e ainda tiveram que andar cerca de 1 km até o pico. Quando estavam se aproximando, começou a cair granizo! Dava para ouvir claramente o barulho das pedras contra as pranchas. Eles se abrigaram embaixo do posto avançado dos salva-vidas, mas não adiantou muito. Ficaram olhando o mar — que estava bem agitado e quebrando bem longe — e perceberam que estava difícil passar a arrebentação. Como o granizo não parava, decidiram entrar assim mesmo. Logo que entraram no mar, o granizo cessou, mas aí começou o verdadeiro desafio: passar a arrebentação. Depois de levar várias séries na cabeça e quase sem forças, finalmente conseguiram. E começaram os raios! Quando estavam quase decidindo sair por causa deles, os raios pararam. Ufa! É algo estranho: você está lá, só você (c...

Concorrência com GO

Comecei a programar com GO há pouco tempo. E logo me deparei com algumas dúvidas de como usar a concorrência. Pesquisei bastante e encontrei algumas soluções muito interessantes, as quais compartilho aqui.

Sugiro você primeiro assistir esse video do Rob Pike no Google I/O 2012: https://youtu.be/f6kdp27TYZs. Os programas que ele mostra podem ser encontrados aqui: https://github.com/kevchn/go-concurrency-patterns. E a apresentação que ele utilizou está aqui: https://talks.golang.org/2012/concurrency.slide

Outros links que li e achei úteis sobre concorrência em GO:

Por fim, criei um exemplo (https://github.com/alexsetta/seqVsConc), no qual comparo o desempenho de duas funções que fazem a mesma coisa: acessar um slice de URLs e retornar o StatusCode de cada uma. A diferença é que uma função faz a busca sequencial e a outra de forma concorrente.

Na prática, o tempo sequencial é a soma de todos os tempos individuais pois a função acessa uma URL, espera a resposta e segue adiante e o tempo concorrencial é, para um número limitado de URLs, o tempo de acesso da URL mais lenta, pois neste caso a função dispara várias chamadas simultâneas e quando a mais lenta terminar as outras já terão terminado.

O tempo de resposta fala por si só:



Comentários

Postagens mais visitadas deste blog

Google Hacking

Netflix não mostra ícone de streaming

Radar no KM 175 da BR101