Category: Desenvolvimento

Eval em Racket: Uma Ferramenta Poderosa, Mas Use com Cautela

2025-05-30

Este artigo aprofunda as vantagens e desvantagens da função `eval` em linguagens dinâmicas, particularmente seu uso em Racket. Usando analogias vívidas, o autor compara `eval` a repassar instruções para outra pessoa, destacando como seu uso aumenta a complexidade do programa e reduz a compreensibilidade devido à tradução de linguagem e dependências ambientais. Embora reconhecendo que `eval` é às vezes necessário, como quando se interage com sistemas externos, o autor enfatiza a necessidade de uso cauteloso e definição clara de contexto. Em Racket, o comportamento de `eval` é fortemente influenciado pelo ambiente de execução, exigindo um gerenciamento cuidadoso do namespace. Em última análise, `eval` é uma ferramenta poderosa, mas que exige aplicação cuidadosa e considerada.

Desenvolvimento linguagens dinâmicas

Índices Ponteados do OrioleDB: Equilibrando Velocidade e Ecossistema

2025-05-30
Índices Ponteados do OrioleDB: Equilibrando Velocidade e Ecossistema

O OrioleDB apresenta índices ponteados, uma solução inteligente para integrar o rico ecossistema de índices não-B-tree do PostgreSQL (como GIN, GiST) enquanto preserva sua arquitetura MVCC e sem heap. Uma coluna virtual `iptr` e um índice ponteado leve mapeiam os índices do PostgreSQL para a estrutura interna do OrioleDB. Isso permite suporte para diversos tipos de índices. Embora adicione uma pequena sobrecarga à consulta (uma pesquisa extra), esse custo geralmente é insignificante para índices complexos (por exemplo, pesquisa ANN do pg_vector). Essa inovação permite que os usuários aproveitem suas extensões preferidas sem sacrificar o desempenho.

Desenvolvimento índice

C++ Moderno: Dominando RAII (Aquisição de Recursos é Inicialização)

2025-05-30

Este artigo mergulha em RAII (Aquisição de Recursos é Inicialização) em C++ moderno. RAII liga elegantemente o gerenciamento de recursos aos ciclos de vida dos objetos, usando construtores para adquirir recursos e destrutores para liberá-los, prevenindo vazamentos. Usando um exemplo de descritor de arquivo, ele demonstra o manuseio seguro de arquivos com RAII, explicando a 'regra dos três', 'regra dos cinco' e 'regra do zero', e como evitar armadilhas comuns. O artigo conclui resumindo as vantagens e limitações do RAII e sugerindo leitura adicional.

Desenvolvimento

Fila sem bloqueio em C++: Um mergulho profundo em atômicos e ordenação de memória

2025-05-30

Este artigo mergulha nas complexidades de atômicos e ordenação de memória em C++, culminando em uma implementação básica de uma fila sem bloqueio. O autor explica meticulosamente a indivisibilidade das operações atômicas e o impacto de diferentes modelos de ordenação de memória (relaxed, release-acquire, seq_cst) na programação concorrente, usando exemplos ilustrativos para demonstrar como eles evitam corridas de dados. Uma fila sem bloqueio baseada em uma lista ligada é então tentada, detalhando as operações de enqueue e dequeue. No entanto, o autor reconhece a falta de completude da implementação, especificamente sua falha em lidar com o problema ABA. O artigo é um guia abrangente adequado para leitores com alguma experiência em programação concorrente em C++.

Desenvolvimento Fila sem bloqueio

OpenBao Secret Manager apresenta namespaces para segurança e escalabilidade aprimoradas

2025-05-30
OpenBao Secret Manager apresenta namespaces para segurança e escalabilidade aprimoradas

O OpenBao Secret Manager lançou um poderoso recurso de Namespaces, proporcionando multi-tenancy robusta e isolamento granular. Cada namespace funciona como uma instância independente do OpenBao, com suas próprias políticas, métodos de autenticação e engines de segredo. Isso aprimora a segurança, permitindo que equipes ou organizações gerenciem seus segredos de forma independente e simplificando o gerenciamento de implantações em larga escala. Planos futuros incluem o uso de namespaces para melhorar a escalabilidade horizontal do OpenBao, permitindo o tratamento eficiente de muitos recursos acessados com pouca frequência, sem carregar todo o estado do sistema de uma só vez.

Desenvolvimento gerenciamento de segredos

Servidor MCP em Bash: Leve e sem sobrecarga

2025-05-30
Servidor MCP em Bash: Leve e sem sobrecarga

Este projeto apresenta um servidor leve do Model Context Protocol (MCP) implementado totalmente em Bash, evitando a sobrecarga de runtimes mais pesados como Node.js ou Python. Ele oferece suporte completo para JSON-RPC 2.0 e protocolo MCP, descoberta dinâmica de ferramentas, configuração JSON e extensão fácil de ferramentas personalizadas. Uma interface simples de linha de comando facilita a execução, com exemplos mostrando como criar seu próprio servidor MCP (um servidor de previsão do tempo é demonstrado). Embora não tenha processamento concorrente, gerenciamento avançado de memória e respostas em streaming, é suficiente para assistentes de IA e execução de ferramentas locais.

Desenvolvimento

IRS torna o Direct File de código aberto: sistema gratuito de declaração de impostos

2025-05-30
IRS torna o Direct File de código aberto: sistema gratuito de declaração de impostos

O IRS tornou o Direct File de código aberto, um serviço gratuito de declaração de impostos online. Ele utiliza uma abordagem baseada em entrevistas, funciona em vários dispositivos (celular, desktop, etc.) e oferece suporte para inglês e espanhol. O Direct File traduz a legislação tributária em perguntas em linguagem simples, gerando formulários de impostos padrão que são enviados ao IRS. Seu núcleo é o Fact Graph, um grafo de conhecimento baseado em Scala que lida com informações incompletas. O Direct File também facilita a declaração de impostos estaduais e locais, permitindo que os usuários importem seus dados de declaração federal para ferramentas de terceiros. Desenvolvido internamente pelo IRS com o apoio do USDS, GSA e outros parceiros, parte do código foi excluída devido a preocupações de privacidade e segurança.

Desenvolvimento

Adição e subtração mais rápidas em CPUs modernas: Superando a propagação de carry

2025-05-30

Este artigo explora técnicas para acelerar a adição e subtração de inteiros grandes em CPUs modernas. Os métodos tradicionais, semelhantes à adição longa manual, processam dígitos do menos significativo para o mais significativo, lidando com carries serialmente. Isso limita o paralelismo. O artigo propõe uma abordagem inteligente: alterar o sistema numérico para atrasar a propagação de carry, realizando-a de uma só vez para explorar o paralelismo da CPU, aumentando significativamente a velocidade. A ideia central envolve dividir inteiros grandes em partes menores, utilizando as instruções `add` e `adc` do x86 e empregando a representação radix-251 para minimizar as operações de carry, resultando em adição e subtração mais rápidas do que os métodos tradicionais.

O Lado Negro da Geração de Código Assistida por IA: Um Estudo de Caso do Cursor

2025-05-30

Este artigo avalia criticamente a eficácia das ferramentas de geração de código assistida por IA. Usando uma sugestão de modificação de código apresentada na página inicial do editor Cursor como estudo de caso, o autor demonstra como o código gerado por IA não apenas falha em melhorar a produtividade, mas também pode introduzir erros e ineficiências, como validação de comprimento inútil e sanitização de strings questionável. O autor argumenta que uma boa ferramenta de IA deve identificar e evitar esses problemas, fornecendo aos programadores o contexto necessário para tomar decisões informadas, em vez de simplesmente oferecer uma solução potencialmente falha. As ferramentas atuais de geração de código por IA, como exemplificado, ficam aquém desse objetivo, resultando em um impacto negativo na produtividade.

Desenvolvimento

Construa seu próprio receptor AM com SDR prático

2025-05-30

O Capítulo 4 de 'Practical SDR' o guia na construção de um receptor AM. Perfeito para entusiastas, estudantes aprendendo comunicações sem fio ou engenheiros criando protótipos de designs de RF, este livro o ensina a construir receptores de rádio virtuais, extrair áudio de sinais AM e FM reais, entender a modulação de amplitude e dominar a amostragem IQ usando o GNU Radio Companion. Você aprenderá a manipular frequências de 1 MHz a 6 GHz, filtrar ruído, otimizar o desempenho do SDR e demodular sinais de rádio reais. Este livro preenche a lacuna entre tutoriais e aplicativos avançados, fornecendo uma base para a compreensão de sistemas sem fio modernos. Alguns projetos exigem hardware SDR, como um HackRF One e uma antena.

Desenvolvimento Receptor AM

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-05-29
arXivLabs: Projetos experimentais com colaboradores da comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs abraçaram e aceitaram nossos valores de abertura, comunidade, excelência e privacidade dos dados do usuário. O arXiv está comprometido com esses valores e trabalha apenas com parceiros que os respeitam. Tem uma ideia para um projeto que agregará valor à comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

Stack Overflow: Luta pela Sobrevivência na Era da IA

2025-05-29
Stack Overflow: Luta pela Sobrevivência na Era da IA

Diante da queda de 90% nas visitas devido à ascensão de ferramentas de IA como o ChatGPT, o Stack Overflow está passando por uma transformação significativa. Eles relançaram os recursos de bate-papo, estão explorando serviços de consultoria de especialistas pagos e planejam criar páginas iniciais personalizadas que agregam vídeos, blogs, perguntas e respostas e muito mais. Simultaneamente, o Stack Overflow está colaborando com empresas de IA como OpenAI e Google, licenciando seus dados de alta qualidade para treinamento de modelos de IA e integrando seus dados em ferramentas de IA. Apesar do desafio maciço, o Stack Overflow está se diversificando e colaborando com a IA para encontrar novas oportunidades de crescimento na era da inteligência artificial.

Desenvolvimento

Chamando Python a partir de C: Um Guia Prático

2025-05-29
Chamando Python a partir de C: Um Guia Prático

Este artigo fornece um guia prático e passo a passo sobre como chamar funções Python de dentro de um código C. Começando pelo básico, ele abrange a configuração do ambiente em Linux/Mac, incluindo a inclusão do cabeçalho Python.h, a compilação do código C e o uso de Py_Initialize e Py_Finalize para inicializar e finalizar o interpretador Python. Detalhando como carregar módulos Python, obter atributos de função, chamar funções (tanto sem parâmetros quanto com parâmetros) e limpar a memória. Através de exemplos de código concretos, os leitores aprendem como integrar funções Python em programas C, permitindo a interação perfeita entre código C e Python.

Desenvolvimento chamadas entre linguagens

Inteligência Humana x LLMs: Depurando Conjuntos de Vetores Redis

2025-05-29

O desenvolvedor do Redis, antirez, relata uma experiência fascinante de depuração na qual ele confrontou seu talento com o Gemini 2.5 PRO, um grande modelo de linguagem. Um bug complexo na implementação do conjunto de vetores (HNSW) do Redis, decorrente da corrupção de dados que leva a links de nó inconsistentes, exigia uma solução além de uma abordagem ingênua O(N²). Embora o Gemini tenha sugerido a busca binária, antirez acabou criando uma solução criativa envolvendo um acumulador XOR, aprimorado ainda mais pela incorporação do MurmurHash128 e uma semente aleatória. Essa anedota destaca o poder do pensamento criativo humano ao lidar com problemas complexos, mostrando como os LLMs podem auxiliar, mas, em última análise, ficam aquém da ingenuidade humana na geração de soluções verdadeiramente novas.

Desenvolvimento

Infisical está contratando: Construa o futuro da infraestrutura de segurança de código aberto para a era da IA

2025-05-29
Infisical está contratando: Construa o futuro da infraestrutura de segurança de código aberto para a era da IA

A Infisical, plataforma de infraestrutura de segurança de código aberto apoiada pela Y Combinator, Google e Elad Gil, está buscando engenheiros full-stack excepcionais. Eles estão construindo a pilha de infraestrutura de segurança de código aberto para a era da IA, gerenciando segredos, PKI interna, gerenciamento de chaves e fluxos de trabalho SSH. A equipe possui experiência em empresas como Figma, AWS e Red Hat e oferece compensação e benefícios competitivos. Os candidatos ideais possuem profundo conhecimento em JavaScript (React.js, Node.js, TypeScript), forte ética de trabalho e paixão por aprender. Você desenvolverá e manterá recursos da plataforma, expandirá as linhas de produtos (Infisical PKI, SSH, KMS) e explorará aplicativos de IA em segurança. Junte-se a uma missão para simplificar a segurança para desenvolvedores, começando pelo gerenciamento de segredos.

Desenvolvimento

Nova: Um novo motor JavaScript escrito em Rust

2025-05-29

Nova é um motor JavaScript (ECMAScript) e WebAssembly escrito em Rust, seguindo princípios de design orientados a dados. Atualmente, é apenas um experimento divertido para aprender e provar a viabilidade de tal motor, mas pode muito bem se tornar algo muito maior no futuro. O motor ainda é muito limitado em suas capacidades, passando apenas cerca de 70% do conjunto de testes test262. No entanto, o desenvolvimento está em andamento e estamos melhorando rapidamente o motor. Se você estiver interessado no projeto, consulte o repositório GitHub ou junte-se ao nosso servidor Discord, onde a equipe principal reside e onde discutimos o desenvolvimento.

Desenvolvimento motor JavaScript

Linha de Comando: Um Manual para Todos

2025-05-29
Linha de Comando: Um Manual para Todos

Domine a linha de comando sem dificuldades! Este manual oferece uma maneira rápida e fácil de dominar os comandos Unix/Linux, eliminando a necessidade de manuais extensos. Aprenda terminais, shells, aplicativos de linha de comando e scripts de shell juntos – não separadamente. Mais de 100 sessões de shell anotadas e exemplos de código tornam o aprendizado divertido e eficaz. Atualizado em 2025, é o guia definitivo, confiável por mais de 5700 leitores. Junte-se a eles e aprimore suas habilidades hoje!

Desenvolvimento

Construindo um Mestre de Jogo LLM Autônomo com Modelos Pequenos e Dados Sintéticos

2025-05-29
Construindo um Mestre de Jogo LLM Autônomo com Modelos Pequenos e Dados Sintéticos

Este post detalha a jornada de construção de um Mestre de Jogo LLM autônomo para TTRPGs. Inicialmente visando uma abordagem agente, o autor optou por uma estratégia de baixo para cima para obter um melhor entendimento do desenvolvimento do modelo. Devido a recursos computacionais limitados, um pequeno modelo Qwen3 foi escolhido, treinado no livro de regras do Shadowdark RPG processado via OCR em markdown. Um Shadowdark QA Bench foi criado para avaliação, comparando várias métricas antes de optar por um casamento baseado em palavras-chave. Após o pré-treinamento e aumento de conhecimento (criando várias reformulações do texto do livro de regras), o modelo atingiu uma precisão de 60% no benchmark, atingindo o objetivo do autor. A próxima etapa é o ajuste do assistente.

Desenvolvimento Dados Sintéticos

Aprendendo C3: Um Relato em Tempo Real da Minha Experiência

2025-05-29

Este artigo documenta a experiência em tempo real do autor ao aprender a linguagem de programação C3. O C3 visa melhorar o C adicionando recursos modernos como um sistema de módulos, sobrecarga de operadores e genéricos. O autor explora vários aspectos do C3, incluindo loops foreach, a palavra-chave defer, structs, tratamento de erros, programação por contrato e macros, culminando na construção de uma calculadora básica. Embora elogie recursos como loops foreach, defer e o sistema de tratamento de erros, o autor também observa deficiências como a gestão de pacotes incompleta e o suporte a servidores de linguagem. Em geral, o autor vê o C3 como uma linguagem promissora ainda em desenvolvimento.

Domínios Integrais Finitos e Corpos Finitos: O Tamanho Determina a Estrutura?

2025-05-29

Este artigo explora alguns resultados bem conhecidos da álgebra abstrata sobre corpos e domínios integrais. Começa definindo um domínio integral e fornecendo exemplos. O autor então prova que todo corpo é um domínio integral, todo domínio integral finito é um corpo, mas domínios integrais infinitos podem ou não ser corpos. Duas provas são dadas para o caso finito, destacando a interação fascinante entre finitude e estrutura algébrica.

RsyncUI: Interface gráfica para rsync no macOS

2025-05-29
RsyncUI: Interface gráfica para rsync no macOS

O RsyncUI é um aplicativo macOS baseado em SwiftUI que fornece uma interface gráfica para a ferramenta de linha de comando rsync. Ele simplifica o uso do rsync, permitindo que os usuários organizem tarefas e definam parâmetros facilmente. Compatível com macOS Sonoma e posterior, pode ser instalado via Homebrew ou download direto. É importante notar que o RsyncUI é apenas uma interface gráfica; a sincronização real é feita pelo rsync. Os usuários podem interromper tarefas, mas devem permitir que a limpeza seja concluída antes de iniciar novas tarefas.

Desenvolvimento

EdaMagit: Magit para VSCode – Otimize seu fluxo de trabalho Git

2025-05-29
EdaMagit: Magit para VSCode – Otimize seu fluxo de trabalho Git

O EdaMagit traz a potência e eficiência do Magit para o VSCode. Essa interface Git baseada em teclado permite que você gerencie seus repositórios com facilidade, oferecendo acesso rápido a status, operações de arquivos, ramificações, commits, merges e muito mais. Ele também inclui suporte ao Forge para visualizar pull requests e issues. As vinculações de teclas altamente personalizáveis permitem que você adapte a experiência às suas preferências, incluindo a imitação de estilos Evil-Magit/Spacemacs. Embora alguns recursos ainda estejam em desenvolvimento, o EdaMagit oferece uma alternativa convincente para aumentar sua produtividade Git no VSCode.

Desenvolvimento

NATS quase deixa CNCF, gerando debate sobre sustentabilidade de código aberto

2025-05-29
NATS quase deixa CNCF, gerando debate sobre sustentabilidade de código aberto

A Synadia, empresa por trás do sistema de mensagens de código aberto NATS, ameaçou brevemente removê-lo da CNCF e mudar para uma licença não open source, levantando preocupações sobre a viabilidade a longo prazo de projetos de código aberto. Embora um acordo de última hora tenha feito com que a Synadia transferisse a marca registrada para a Linux Foundation e mantivesse o NATS de código aberto, o incidente destacou tensões entre fundações de código aberto e empresas contribuintes. A disputa revelou vulnerabilidades na estrutura atual, sublinhando a necessidade de uma gestão de ativos mais clara e salvaguardas mais fortes para proteger projetos de código aberto de ameaças futuras semelhantes. A controvérsia também gerou discussões sobre o papel das fundações na manutenção da estabilidade e da confiança na comunidade de código aberto.

Desenvolvimento

typed-ffmpeg: Uma Interface Pythonica Moderna para FFmpeg

2025-05-29
typed-ffmpeg: Uma Interface Pythonica Moderna para FFmpeg

typed-ffmpeg oferece uma interface moderna e Pythonica para o FFmpeg, fornecendo suporte extensivo para filtros complexos com tipagem e documentação detalhadas. Construído com a biblioteca padrão do Python, ele simplifica a construção de gráficos de filtros, possui autocompletar do IDE e inclui serialização JSON de gráficos de filtros, validação automática do FFmpeg e visualização de gráficos. Desenvolvimentos futuros incluem suporte a mais versões do FFmpeg e cobertura de filtros expandida. Este projeto, inicialmente inspirado pelo GPT-3, acabou usando métodos tradicionais de geração de código, auxiliados significativamente pelo GitHub Copilot.

Desenvolvimento

Execute código C# diretamente sem arquivos de projeto: .NET 10 Preview 4

2025-05-29
Execute código C# diretamente sem arquivos de projeto: .NET 10 Preview 4

O .NET 10 Preview 4 apresenta um recurso inovador: agora você pode executar arquivos C# diretamente usando `dotnet run app.cs` — sem necessidade de arquivo de projeto ou estruturação! Isso reduz significativamente a barreira de entrada para o C#, tornando-o ideal para aprendizado, prototipagem ou scripts rápidos. Aproveite diretivas poderosas em nível de arquivo, como `#:package`, `#:sdk` e `#:property`, para gerenciar pacotes NuGet, SDKs e propriedades MSBuild diretamente no seu arquivo .cs, mantendo a compatibilidade com os conceitos existentes do MSBuild. Mesmo que seu script cresça e se torne um aplicativo completo, a conversão para um aplicativo baseado em projeto é perfeita. Este fluxo de trabalho simplificado facilita a experiência de desenvolvimento C#, tornando-o incrivelmente acessível e conveniente para utilitários de CLI, scripts de automação e muito mais.

O Nascimento, Queda e Ressurgimento do Banco de Dados HTAP

2025-05-29
O Nascimento, Queda e Ressurgimento do Banco de Dados HTAP

Este post de blog narra a jornada do banco de dados HTAP (Processamento Analítico Transacional Híbrido). Dos anos 1970, quando um único banco de dados lidava com todas as transações e análises, ao isolamento de carga de trabalho dos anos 1980, à divisão da arquitetura de armazenamento dos anos 1990 e à ascensão do NewSQL e dos data warehouses em nuvem dos anos 2010, os bancos de dados HTAP tiveram grande promessa. No entanto, desafios como a dificuldade de substituir sistemas OLTP existentes, o fato de que a maioria das cargas de trabalho não precisa de OLTP distribuído, arquiteturas nativas de nuvem que favorecem o compartilhamento de disco em vez de compartilhamento sem nada e incentivos de equipe desalinhados, levaram à falha do HTAP em obter adoção generalizada. Hoje, a pilha de dados está mudando para arquiteturas de data lake modulares, alcançando a funcionalidade HTAP por meio da composição em vez da consolidação de bancos de dados. Isso marca o fim dos bancos de dados HTAP como um banco de dados independente, mas seu espírito vive na arquitetura de data lake.

Desenvolvimento

Microsoft Apresenta Plataforma de Orquestração de Atualizações do Windows e Backup Corporativo

2025-05-29
Microsoft Apresenta Plataforma de Orquestração de Atualizações do Windows e Backup Corporativo

A Microsoft lançou uma prévia privada de uma plataforma de orquestração de atualizações do Windows 11, projetada para simplificar as atualizações de aplicativos, fornecendo agendamento centralizado e solução de problemas. Os desenvolvedores podem registrar a lógica de atualização por meio de APIs WinRT e PowerShell, suportando aplicativos MSIX/APPX e Win32. Simultaneamente, uma prévia pública limitada do Windows Backup for Organizations está disponível, permitindo o backup e a restauração das configurações de dispositivos Windows 10 e 11, facilitando as migrações corporativas para o Windows 11 e mitigando ameaças de malware. No entanto, o serviço possui requisitos específicos de dispositivo e ambiente.

Renderização Realista de Grama: Dos Princípios à Implementação no Godot

2025-05-29

Esta é a primeira parte de uma série em várias partes sobre renderização realista de grama. Começa explorando as propriedades visuais da grama real, como seu brilho, translucidez e auto-sombreamento. Vários métodos para simular grama em gráficos 3D em tempo real são então apresentados, incluindo texturização, mapeamento normal e o uso de billboards e geometria completa para lâminas de grama. O artigo conclui observando que GPUs modernas podem lidar com a renderização de grama com geometria completa e prevê a próxima parte, que detalhará como implementar grama com geometria completa no Godot.

Desenvolvimento

MMBasic no Raspberry Pi Pico: Um poderoso sistema BASIC embarcado

2025-05-29

O firmware PicoMite traz um sistema operacional completo para o Raspberry Pi Pico e Pico 2, com um interpretador compatível com Microsoft BASIC e amplo suporte de hardware, incluindo painéis LCD sensíveis ao toque, cartões SD, WiFi/internet e muito mais. Usando MMBasic, você pode facilmente adquirir dados de vários sensores por meio de protocolos I2C ou SPI, salvar dados em um cartão SD, exibir informações em telas LCD coloridas, medir tensões, detectar entradas digitais e controlar pinos de saída para controlar luzes, relés etc. O firmware PicoMite é totalmente gratuito para download e uso, oferecendo várias versões para diferentes aplicações, como controladores embarcados, computadores autônomos e controladores conectados a WiFi/internet. Sua facilidade de uso e ciclo de desenvolvimento rápido o tornam ideal para desenvolvimento de IoT e sistemas embarcados.

Desenvolvimento

Desbloqueando o Desempenho do Ruby Ractor: Eliminando Contenção de Variáveis de Classe

2025-05-28

Esta publicação investiga um gargalo de desempenho nos Ractors do Ruby ao lidar com variáveis de instância de classe. O bloqueio global do interpretador causa uma degradação significativa do desempenho quando vários Ractors acessam concorrentemente essas variáveis. O autor analisa meticulosamente a implementação subjacente das variáveis de instância de classe e propõe uma solução usando delegação de objetos para eliminar a contenção de bloqueio, resultando em uma melhoria de desempenho de quase três vezes em microbenchmarks. Essa solução também corrige inesperadamente um bug e uma regressão de desempenho introduzidos pelo novo recurso Namespace.

Desenvolvimento
1 2 73 74 75 77 79 80 81 214 215