49 pontos por GN⁺ 2024-03-11 | 4 comentários | Compartilhar no WhatsApp

Representação visual dos números de latência que programadores devem conhecer

  • Referência ao cache L1: 1 nanossegundo
  • Falha na previsão de desvio: 3 nanossegundos
  • Referência ao cache L2: 4 nanossegundos
  • Bloqueio/desbloqueio de mutex: 17 nanossegundos
  • Transmissão de 1KB de dados por uma rede de 1 Gbps: 44 nanossegundos
  • Referência à memória principal: 100 nanossegundos
  • Compressão de 1KB de dados com Zippy: 2 microssegundos
  • Leitura sequencial de 1MB da memória: 3 microssegundos
  • Leitura aleatória de 4K em SSD: 16 microssegundos
  • Leitura sequencial de 1MB em SSD: 49 microssegundos
  • Tempo de ida e volta dentro do mesmo datacenter: 500 microssegundos
  • Leitura sequencial de 1MB em disco: 825 microssegundos
  • Busca em disco: 2 milissegundos
  • Envio de um pacote da Califórnia até a Holanda e retorno: 150 milissegundos

Opinião do GN⁺

  • Esses dados podem servir como uma referência importante para programadores ao projetar sistemas ou otimizar desempenho. Saber quanto tempo cada operação ou tarefa leva ajuda a identificar quais partes causam gargalos e como melhorá-las.
  • Por exemplo, ao comparar o tempo de acesso à memória com a latência de rede, fica claro que minimizar chamadas de rede e processar os dados na memória é muito mais rápido. Isso pode ser uma consideração importante no projeto de sistemas distribuídos.
  • Como essas latências podem mudar com a evolução do hardware e da tecnologia, é importante manter as informações atualizadas. Por exemplo, com o avanço dos SSDs, o tempo de leitura em disco foi bastante reduzido.
  • Ao adotar novas tecnologias ou open source, é preciso considerar essas latências para prever o desempenho do sistema e decidir qual tecnologia será mais eficaz no ambiente real. Por exemplo, usar uma solução de cache em memória pode reduzir a latência de rede, mas exige considerações adicionais sobre consistência de cache e sincronização de dados.

4 comentários

 
kleinstein 2024-03-11
 
cosine20 2024-03-11

Nossa, essa UI/UX realmente não me agradou...

 
yangeok 2024-03-18

É verdade mesmo, nossa..

 
GN⁺ 2024-03-11
Comentários do Hacker News
  • Resumo do primeiro comentário:

    • O usuário compartilha um código JavaScript que percorre os elementos filhos de um elemento HTML com a classe latency-container, exibindo a latência de cada um.
    • As latências exibidas vão de referências ao cache L1 até o tempo de ida e volta dentro de um data center para várias operações de computação.
  • Resumo do segundo comentário:

    • Avalia que a usabilidade da interface do usuário (UI) não é boa, apresentando isso como um caso interessante de experiência do usuário (UX).
    • Critica a UI por não atender às expectativas do usuário na execução de funções principais e por ser difícil de entender.
    • Afirma que o usuário precisa ler a ajuda, mas a maioria das pessoas não gosta disso.
    • Enfatiza que é possível tirar lições sobre UX a partir da discussão desses problemas.
  • Resumo do terceiro comentário:

    • Aponta que falta "Latency" no título, o que dificulta encontrar outros resultados em buscas.
    • Citando outras fontes, diz preferir materiais em texto que forneçam mais informações sobre latência.
  • Resumo do quarto comentário:

    • Critica que parte da UI exibida na tela é difícil de ler.
    • Avalia que o texto girado em 90 graus é incômodo e que a UI é divertida, mas parece priorizar a forma em vez da função para realmente transmitir informação.
  • Resumo do quinto comentário:

    • Lista materiais relacionados à origem das informações de latência, fornecendo contexto histórico sobre esses dados.
  • Resumo do sexto comentário:

    • Menciona que as latências relacionadas a redes não são intuitivas.
    • Compartilha uma experiência pessoal sobre como serviços como o Google Stadia podem ser mais rápidos do que se esperaria.
  • Resumo do sétimo comentário:

    • Como usuário do Firefox Mobile, expressa que não consegue entender o que a UI está tentando mostrar.
  • Resumo do oitavo comentário:

    • Diz que não entende o significado dos números exibidos na UI e expressa confusão por eles parecerem representar anos futuros.
  • Resumo do nono comentário:

    • Comenta que o título é um tanto misterioso e que esperava um conteúdo sobre números como 16, 256 e 65536.
    • Expressa ceticismo em relação à afirmação de que, em 2030, enviar 1K bytes por uma rede de gigabits será mais rápido do que uma falha de previsão de desvio dentro da CPU.