zanfranceschi / rinha-de-backend-2023-q3 Goto Github PK
View Code? Open in Web Editor NEWRinha de Backend - Edição 2023 Q3
License: MIT License
Rinha de Backend - Edição 2023 Q3
License: MIT License
Seria uma boa colocar um arquivo de licença aprovada pela OSI. Recomendo MIT.
Queria alguma ajuda de qualquer pessoa para entender minha situação.
Aqui esta a minha submissão.
Aqui estão os resultados da primeira fase;
Rodei meu docker-compose em dois computadores diferentes com sistemas operacionais diferentes de várias maneiras.
Inclusive rodei os comandos exatamente comem estão na rinha-primeira-fase.sh, queria entender o porquê minha API não subiu, configurei algo errado? Provavelmente, sim, contudo, não consegui achar o que era.
Se alguém tiver alguma ideia eu agradeceria muito.
O que acha criar um documento markdown para organizar os participantes por linguagem implementada?
O valor gerando por este repositório merece listar separadamente as implementações por linguagem para facilitar a consulta das implementações em cada linguagem.
A especificação diz que:
Dado o termo da busca, a resposta deverá ser uma lista que satisfaça o termo informado estar contido nos atributos apelido, nome, e/ou elementos de stack. (...)
Isso significa que o termo de busca rob
deve retornar uma pessoa cujo nome é Roberto
ou os termos devem corresponder de forma exata?
Abri essa issue porquê estou confuso quando a competição irá ocorrer. Naveguei pelo twitter e só vi uma menção a "2 semanas", só para esclarecer as datas e prazos!
Duvida sincera
Na live o teste vai checar a risca os itens especificados nas instruções ou checar o desempenho final, quantidade de KO, OK, etc.
Por exemplo, uma estratégia usada pra diminuir a latência na criação da pessoa foi colocar os inserts no banco em background, não sendo verificado unicidade do apelido na requisição, devolvendo 201 e não 422
Essa é uma categorização muito subjetiva.
Java é compilada, já que tem um processo estático (AOT) de compilação ou é interpretada já que no fim o artefato ainda é bytecode rodando numa VM e passando por um JIT (que aí sim vai de fato compilar pra machine-code)?
Eu consigo compilar OPcache do PHP de forma AOT e mandar rodar na ZendVM com JIT, igualzinho seria um processo em Java. Se Java entra pra compilada, PHP entra também?
Fora que tem linguagens, tipo Kotlin, que permitem as duas abordagens. Da pra compilar Kotlin direto pra machine-code ao invés de rodar na JVM. Pra onde Kotlin entra?
Não consigo conversar na issue #238 @Krymancer então abri uma nova mas percebi que no resultado da primeira fase não há log no contagem-pessoas.log. Talvez esse seja o problema?
Queria alguma ajuda de qualquer pessoa para entender minha situação.
Aqui esta a minha submissão.
Aqui estão os resultados da primeira fase;
Rodei meu docker-compose em dois computadores diferentes com sistemas operacionais diferentes de várias maneiras.
Inclusive rodei os comandos exatamente comem estão na rinha-primeira-fase.sh, queria entender o porquê minha API não subiu, configurei algo errado? Provavelmente, sim, contudo, não consegui achar o que era.
Se alguém tiver alguma ideia eu agradeceria muito.
teste de repo lockdown
Como a performance de uma API HTTP CRUD (bom Create, Read neste caso) é muito mais influenciada pela eficiência do banco de dados subjacente do que qualquer outra coisa não seria mais interessante testar todas as APIs contra o mesmo banco já que o objetivo é fazer a rinha de backend e não a rinha de DBAs.
Todos os principais fatores relacionados a perfomance de um teste deste tipo estão intimamente conectados ao banco de dados.
Indexação: Sem índices adequados, qualquer API será lenta e ineficiente em operações de busca se o volume de dados for significativo.
Cache: Os bancos de dados têm mecanismos internos extremamente sofisticados para armazenar e gerenciar os dados em memória principal.
Escalabilidade: A capacidade do banco de dados de lidar com grandes volumes de leitura e principalmente gravações concorrentes é o fator determinante para a performance da API.
No fim vai 'vencer' quem projetar e configurar o melhor banco de dados independente da tecnologia que usar para implementar o backend.
Com o excelente método do @filhodanuvem de rodar o Gatling no GH Actions e publicar reports via GH Pages, acredito que a melhor forma de todos participarem, é com este método. Assim, todos tem o mesmo ambiente de execução, e os testes podem ser em paralelo.
Por exemplo, meus testes no MacBook M1 funcionam muito bem. Já no MacBook Intel, os resultados são diferentes.
https://github.com/filhodanuvem/rinha-backend-2023-go#github-actions--github-pages-deploy
rinha-de-backend-2023-q3/INSTRUCOES.md
Lines 76 to 82 in c3b4cf0
Ja que vai usar o badrequest, esse tipo de requisição com data no formato inválido deveria ser badrequest também. É diferente de uma validação de dados.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.