Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Além do Limite! Usando toda a potência da sua CPU

Além do Limite! Usando toda a potência da sua CPU

Multithread, concorrência, paralelismo... Podemos ir muito além na performance da nossa aplicação, aproveitando o máximo da infra que temos disponível. No ruby, todas as implementações tem a capacidade de produzir códigos concorrentes, mas cada uma possue suas limitações e vantagens. Desde o Global Interpreter Lock (GIL) até estruturas de dados naturalmente thread safe. Nessa talk, vamos descobrir como usar essas ferramentas e que a própria linguagem nos disponibiliza, no mri, jruby e truffleruby.

Avatar for Caio Salgado

Caio Salgado

November 28, 2019

More Decks by Caio Salgado

Other Decks in Programming

Transcript

  1. Loft — Junho.2019 Uma nova experiência na compra e venda

    de imóveis 1 Além do limite! Usando toda a potência da sua CPU
  2. 2 • Caio Salgado • Software engineer • Loft •

    Apaixonado por Ruby • Adoro mexer com threads
  3. Concorrência 4 "Competição; ação de competir com outra pessoa a

    prioridade sobre alguma coisa" Dicio.com Além do Limite!
  4. Thread Safe 14 As soon as you introduce the Thread

    constant, you've probably just introduced 5 new bugs into your code. Mike Perham Além do Limite!
  5. JRuby 22 • Ruby vira bytecode para a JVM •

    Threads rodam em paralelo • Melhor interoperabilidade com Java • Não tem Process.fork Ruby em Java Além do Limite!
  6. TruffleRuby 23 • Ruby roda na GraalVM (Oracle) • Threads

    rodam em paralelo • Compilação Just In Time • Feito para ser muito rápido • “Auto thread safe ?!?” Ruby na GraalVM Além do Limite!
  7. Perguntas? 51 Permuta Playbook Essa é a hora de perguntar

    o que quiser! @Caio_CSalgado @CaioSalgado Eliada
  8. Loft — Junho.2019 Obrigadx Uma nova experiência na compra e

    venda de imóveis 52 @Caio_CSalgado @CaioSalgado Eliada