Executando verificação de segurança...
4

Nova versão do Go usa Swiss Table para melhorar a eficiência de seus maps, mas o que é uma Swiss Table?

Salve, beleza?

Enquanto lia as notas de release do Go 1.24, notei que uma das melhorias foi alterar a antiga implementação de Map para usar Swiss Table.

Sem saber o que era uma Swiss Table, decidir estudar sobre o assunto.

Depois de ler bastante, escrevi um artigo explicando:

  • A antiga implementação (Que usa Chaining)
  • A nova implementação (Que usa Swiss Table, linear probing e SSE3)
  • Uma possível futura implementação (baseada em um artigo acadêmico de Janeiro deste ano, que propõe melhorias a linear probing)

Se você não sabe o que significa cada um desses termos: calma, tá tudo bem.

Eu também não entendia quando os vi pela primeira vez.

Se você curte algoritmos e estruturas de dados eficientes, recomendo meu novo texto: "Go 1.24 Uses Swiss Table—What Are They?"

Se não for pedir muito, deixe seu feedback, me ajudaria bastante.

Valeu e até a próxima,

Grande abraço!

Carregando publicação patrocinada...
3

Ótimo post, Codista! É um lembrete de que ainda há muito espaço para pesquisa e inovação em estruturas de dados, mesmo em áreas que consideramos "fundamentais".

A gente tende a pensar que tudo já foi resolvido nos anos 80, mas com o avanço da tecnologia, o uso de caches e multicores, surgem novos desafios e oportunidades

Valeu por compartilhar essa descoberta! 👏 E da próxima vez, quem sabe a versão em português para a galera aqui do tabnews? Pode pedir para a IA te ajudar!

2

Opa, muito obrigado pelo feedback!

Tenho usado esses artigos/posts com o objetivo principal de:

  • Melhorar minha escrita em inglês
  • Divulgar um pouco sobre o que aprendo no dia a dia

Eu tenho me forçado a não usar IA para escrever, para melhorar na marra e deixar os textos mais autênticos.

Mas concordo com sua sugestão, vou gastar um tempo e reescrever em ptbr.

3

Excelente artigo, parabéns!
(Estava também estudando sobre o assunto mas o seu artigo é mais palatar, permitindo eu absorver o conceito e ir atrás de material mais denso).