DEV Community

High performance school - blog
High performance school - blog

Posted on

🇧🇷 Otimizando buscas em mais de 1000x de maneira rápida e fácil

Image description

Map.get vs Array.find

Quer fazer a boa no seu time e trazer uma baita performance pra sua aplicação com pouco esforço? se liga nessa dica! 🤯

De um ctrl+f e busque pelo #find e se possível os substitua por uma estrutura de dados #Map

Sabe por que? 🧐

BuscaLinear (find):

Percorre o array objeto por objeto até encontrar o que procura.

Complexidade de tempo: O(n), onde n é o número de objetos no array.

Índices:

Complexidade de tempo: Aproximadamente O(1) (em média, para a maioria dos casos).

Para buscas frequentes, pode ser benéfico usar índices com base na propriedade que você está pesquisando.

🔎 Busca linear: #find

As formas mais tradicionais de busca em arrays no #javascript é o #find, mas ele apesar de muito útil, ele tem um problema, ele é linear O(n), onde pode percorrer todo o seu arrau até encontrar o que deseja.

const product = products.find(p => p.id === 1);

⚡️ Índices: #Map

Uma forma de otimizar muitos cenários de busca é usar a estrutura de dados #Map

Nesse link eu deixo um #benchmark com um #exemplo de busca de produtos onde você pode ver um resultaod semelhante a esse aqui :

Busca Linear: 12.647450000047684ms

Busca via Map: 0.005816996097564697ms
Enter fullscreen mode Exit fullscreen mode


`

Conclusão

Usar a estrutura de dados correta na hora de fazer uma busca pode impactar muito no tempo de resposta e consumo de recurso da sua aplicação, claro que nem sempre iremos poder usar uma estrutura de dados do tipo Map ou Object, mas tenho certeza que em muitos casos você consegue substituir a criaçao da sua lista por um Map e ganhar um baita ganho de performence!

Image description

Newsletter

Gostou desse conteúdo? Aproveita pra se inscrever na nossa newsletter https://highperformanceletterbr.substack.com/
Postamos conteúdos sobre performance e otimização todas as semanas!

Primeiro curso de performance backend js do brasil(ou do mundo)

🚀 Domine o Desempenho Backend com JavaScript! 🚀

🎓 Apresentamos o PRIMEIRO Curso de Performance Backend em JavaScript no Brasil! 🇧🇷

🔥 Seja um dos pioneiros a explorar o mundo do desenvolvimento backend com foco em eficiência e velocidade. Este curso exclusivo é sua porta de entrada para se tornar um especialista em otimização e desempenho de aplicações JavaScript.

🌟 O Que Oferecemos:

Instrutores Especialista: Aprenda com um profissional que atua com esse assunto no dia a dia.
Conteúdo Avançado: Desde fundamentos até técnicas avançadas de otimização.
Projetos Práticos: Coloque suas habilidades à prova com desafios reais.
Comunidade e Networking: Junte-se a uma comunidade vibrante de desenvolvedores.
🛠️ Domine Ferramentas e Técnicas Essenciais: Conteúdo prático sobre as melhores tools de monitoramento e análise de recursos

Análise de Performance;

Diagnóstico;
Otimização de Código;
Gerenciamento Eficiente de Memória;
Eventos e streaming;

🚀 Transforme a forma que os outros devs te veem:

Esteja na vanguarda do desenvolvimento backend. As habilidades que você adquirirá são inestimáveis e altamente procuradas no mercado de trabalho para posições senior.

✅ Acesse: https://highperformanceschool.hotmart.host/

Top comments (0)