Sobre o serviço
TraduzidoSou um programador de sistemas e trabalho em Jai todos os dias — a linguagem nativa de Jonathan Blow, projetada para desenvolvimento sério de jogos. Se seu motor, ferramenta ou simulação precisa funcionar próximo ao metal sem a sobrecarga de um tempo de execução gerenciado, essa é exatamente a tarefa que eu assumo. Eu escrevo código amigável ao cache, orientado a dados, substituo padrões de coleta de lixo por alocadores e arenas explícitas, e perfilo até que loops quentes realmente ganhem cada ciclo. O gerenciamento manual de memória não é um fardo para mim, é a essência do trabalho. Eu aproveito ativamente o modelo de execução em tempo de compilação do Jai. Etapas de construção, preparação de ativos, geração de código e tabelas de consulta são criadas durante a compilação, então não há necessidade de enviar um script de terceiros separado e nada para quebrar em tempo de execução. A metaprogramação me permite gerar serializadores, dados de reflexão e código boilerplate a partir de uma única fonte de verdade em vez de copiar estruturas manualmente. Um entregável típico inclui um módulo pronto para teste, um pequeno conjunto de benchmarks com números antes e depois, comentários legíveis e uma breve nota sobre a estratégia de memória escolhida e sua justificativa. Eu construí alocadores personalizados, contêineres estilo SoA, bindings de hot-reload e pipelines de construção baseados em macros. Envie-me o esboço do problema, a plataforma alvo e o orçamento de desempenho — e eu direi honestamente se Jai é a escolha certa. Correção em primeiro lugar, depois velocidade.