Pular para o conteúdo principal

Coleções paralelas em Scala

Amanhã, quarta-feira, 28 de Março, teremos mais um mini-curso gratuito de Scala na globalcode em SP (e webcast). Para dar um gostinho, vou traduzir aqui mais um dos posts de scala que fiz no meu blog pessoal, jcranky.com, em inglês.

Há mais ou menos um mês atrás, eu escrevi aqui sobre instruções import em scala. Dessa vez, vou falar um pouco sobre as coleções paralelas, um recurso muito interessante que scala trouxe a partir da versão 2.9, que permite que transformemos coleções normais em coleções que serão executadas em paralelo. Divirtam-se!

---
As Coleções Paralelas de Scala são úteis até nos casos mais simples
Um dos principais recursos que a versão 2.9 de Scala traz são as Coleções Paralelas. Se fosse pensar nelas rapidamente, vocêe pode considerar usar tal recurso apenas em cenários complexos e com processamento intenso.
Embora esses sejam certamente os casos principais onde você poderia considerar o uso de coleções paralelas, existem formas mais simples de alavancar este recurso. O código necessário para usá-lo é tão simples que é fácil pensar em razões para fazer isso em qualquer lugar:
1myCol.par foreach(println)
Como isso poderia ser mais simples??
Então onde eu usei isso de verdade, você pode perguntar. A empresa para a qual trabalho armazena arquivos na Amazon S3. Antes disso, os arquivos eram armazenados no disco local. Então, quando nós migramos para o S3, eu escrevi um script em Scala para fazer o upload de todos os arquivos… milhares deles. Minha primeira solução se parecia com isso:
1listOfFiles foreach(file => sendToS3(file))
E então de repente eu percebi que é ridiculamente simples paralelizar o upload dos arquivos:
1listOfFiles.par foreach(file => sendToS3(file))
Resultado: metade do tempo para fazer o upload dos arquivos, tendo feito praticamente nada. Muito legal, não?
---

Para quem quiser, a versão original em inglês pode ser encontrada aqui.

[]s,
Paulo "JCranky" Siqueira
http://jcranky.com
http://github.com/jcranky
http://www.twitter.com/jcranky

Comentários

Yara Senger disse…
Muito legal o post! Espero que tenhamos cada vez mais Scala na Globalcode!

[]s
Yara
Yara Senger disse…
Este comentário foi removido pelo autor.

Postagens mais visitadas deste blog

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad...

TDC ONLINE: SUA PLATAFORMA DE PALESTRAS GRAVADAS DO TDC DISPONÍVEL

Além do conteúdo ao vivo transmitido online nas edições do TDC, agora você pode ter acesso à centenas de palestras gravadas, através da nossa nova plataforma de vídeos - o TDC Online, que reúne todas as Trilhas premium, Stadium e Salas dos Patrocinadores das edições anteriores de 2022, TDC Innovation e TDC Connections.  Para acessar, basta clicar na edição em que você participou ( TDC Innovation ou TDC Connections ); Fazer o mesmo login (com e-mail e senha) cadastrados na hora de adquirir ou resgatar o seu ingresso no TDC; E clicar na Trilha de sua opção, e de acordo com a modalidade do seu ingresso. Logo em seguida, você será direcionado para a seguinte página com a lista de todas as palestras por Trilha: Pronto! Agora você tem acesso à centenas de palestras gravadas da sua área de interesse, para assistir como e quando quiser! Caso tenha esquecido a senha, clique na opção "Esqueci a senha" , insira o e-mail que você realizou para o cadastro no evento, e aparecerá a op...

TDC BUSINESS, chega a São Paulo com novas trilhas de Inteligência Artificial e Inovação

Maior conferência de profissionais de tecnologia do Brasil abordará temas em alta no momento como, por exemplo, Inteligência Artificial, Segurança, Ciência de Dados e Inovação O TDC BUSINESS, a 17° edição do The Developer's Conference na cidade de São Paulo, que acontece entre os dias 19 e 21 de Setembro, reunirá profissionais e especialistas da área para troca de experiência, compartilhamento de conteúdos e networking. Com o tema central: “Tecnologia para negócios transformadores”, o evento será totalmente híbrido, ocorrendo presencialmente no espaço Pro Magno, e com transmissão simultânea e atividades de network pela internet. A expectativa é reunir mais de 14.000 pessoas, somando a participação presencial e online.   Segundo Yara Mascarenhas, Fundadora e Host do Evento, “nosso objetivo com o TDC é inspirar a colaboração entre os profissionais e empresas para construir uma nova realidade para o mercado de TI.  Vamos juntar tecnologia e negócios com as trilhas técnicas...

12 ESQUENTAS TDC ESPERANDO POR VOCÊ

O TDC nasceu do sonho de profissionais que valorizam o compartilhamento de conhecimento, experiências e oportunidades entre as comunidades de desenvolvedores.  Por isso, o crescimento do TDC nunca poderia ficar longe do crescimento das comunidades! Pensando nessa união, criamos um projeto quente: O ESQUENTA TDC ! Visando divulgar os meetups de comunidades que querem transformar e inspirar carreiras, foi co-criado este projeto lindo e cheio de apoio, onde o TDC abraça meetups de diversas comunidades espalhadas pelo Brasil e elas contribuem com a divulgação da edição regente.  O TDC Innovation vai rolar de 14 a 16 de JUNHO, mas até lá vão acontecer muitos encontros incríveis!  Fique por dentro das comunidades que vão participar, quais temas irão abordar e claro as datas e locais para você participar. 💥Esquentas TDC Innovation 2023: 24/05 - Esquenta TDC: Carreira e Desenvolvimento Presencial em Floripa das 19:00 as 21:30 com inscrição AQUI Comunidade: Google Developer...

Vamos falar de Android...

Nessa minha primeira aparição aqui no blog da Globalcode, vou falar de um assunto que vem sendo tópico frequente nos Twitters da equipe da GC e também de alguns amigos, o Google Android. Um pouco de história... Como já faz parte da estratégia conhecida do Google, em 2005 comprou uma start-up chamada Android e que estava trabalhando em uma distribuição de Linux (baseado no kernel 2.6) voltada para smartphones com o mesmo nome da empresa. Após essa compra muito se especulou e em 2007 os rumores foram confirmados com o anúncio do Google sobre a criação da Open Handset Alliance e os esforços para a solidificação da plataforma Android . A partir disso, muito se falou e muitos desenvolvedores (eu inclusive) não acreditavam que o Google teria força para entrar na briga com as fabricantes e operadoras. Mas então, a Nokia anunciou a compra de toda a Symbian Foundation, que controlava o desenvolvimento da plataforma Symbian, base de seus Smartphones da S60 (como por exemplo o N95, 5800, N9...

Uma forma de usar Twitter4J com OAuth

Já faz bastante tempo que escrevi um post sobre como enviar tweets através de uma aplicação Java usando a biblioteca Twitter4J e de lá para cá tivemos algumas atualizações e uma delas foi o fato de não ser mais possível usar autenticação básica como eu coloquei de exemplo. Hoje eu vi a Yara citar no Twitter este meu post como exemplo de uso e responderam a ela que não funcionava mais assim, então resolvi pesquisar e colocar aqui no blog a solução que encontrei. Buscando na internet, encontrei rapidamente este artigo em inglês no blog da EMC, e como está bem explicado, peço licença ao autor Nileesha Bojjawar para colocar aqui traduzido para o português e compartilhar com vocês. Neste texto, além de mostrar como autenticar usando OAuth, também dá a dica de como registrar uma aplicação para editar a timeline de uma conta do Twitter. Vamos ao passo a passo então: "... Crie uma conta no Twitter Crie a conta do Twitter que você quer usar da sua aplicação. No exemplo eu usei uma conta ...