Arquitetura de computadores
O curso explica o hardware que executa seu código Ruby e Rails. Começa pela CPU, com o ciclo fetch-decode-execute, clock speed, núcleos e o GVL do Ruby. Depois trata da RAM, do heap do Ruby e do garbage collector, e em seguida de HDDs, SSDs e índices no banco. As aulas sobre barramento abordam largura de banda, latência e camadas de cache. A última aula acompanha uma requisição Rails do boot até a página renderizada e liga problemas comuns de performance ao componente que os causa.
O que você vai aprender
- ✓Como CPU, RAM e armazenamento trocam dados entre si
- ✓Como o ciclo fetch-decode-execute, os núcleos e o GVL do Ruby afetam seu código
- ✓Como objetos Ruby ocupam a RAM e como o garbage collector libera memória
- ✓Por que SSDs, HDDs e índices no banco mudam a velocidade das queries
- ✓Como largura de banda, latência e camadas de cache influenciam a performance
- ✓Como ligar problemas comuns do Rails a uma causa no hardware
O que é um computador?
Toda vez que você digita ruby app.rb e aperta Enter, algo extraordinário acontece. Seu código Ruby (legível por humanos) vira sinais elétricos que alternam bilhões de vezes por segundo dentro de chips de silício. Mas o que está fazendo todo esse trabalho?
Ler a aula completa grátis →Currículo
6 aulasO que é um computador?
Apresenta CPU, RAM e disco com uma analogia de cozinha e mostra o caminho dos dados ao rodar Ruby.
A CPU: o cérebro do seu computador
Explica o papel da CPU, clock speed, núcleos, o ciclo fetch-decode-execute e como o GVL limita threads Ruby.
RAM: o espaço de trabalho rápido
Trata da RAM volátil, do espaço de endereçamento, do heap do Ruby, do GC e do uso de find_each.
Armazenamento: o registro permanente
Compara HDD e SSD, a hierarquia de velocidade, acesso sequencial e aleatório, buffer cache e índices no PostgreSQL.
O barramento: como os componentes se comunicam
Descreve os sinais do barramento, largura de banda e latência, o gargalo de Von Neumann e as camadas de cache.
Juntando tudo
Acompanha o Rails do boot ao bytecode do YARV e a uma requisição completa, ligando problemas ao hardware.