Quando se fala em tempos relacionados com o processamento dos computadores pessoais, nem sempre há uma real noção do que se está a falar. Este artigo pretende dar uma noção mais perceptível do que realmente os valores representam.
Um nano segundo, um micro segundo… Quando se fala em tempos de processamento tudo parece tão pequeno que não aparenta fazer diferença! Mas será que é assim?
É isso que vamos tentar analisar, fazendo aqui uma mudança de escala para que se percebe melhor a diferença das coisas.
Nos sistemas actuais, quando falamos em ciclos de relógio, falamos em Megahertz, Gigahertz… E os sistemas podem ser tão rápidos que um ciclo de relógio pode gastar tão pouco como 0.3 nano segundos. Ora sendo 1 nano segundo igual a 0,000000001 segundos, 0,3 ns é realmente um valor muito, muito pequeno!
Mas, para uma questão de comparação numa outra escala, vamos passar isto para uma escala que nos seja mais familiar.
E vamos comparar estes 0,3 nano segundos, a 1 segundo da nossa vida real! (Note-se que alguns valores são depois arredondados)
0,3 ns —————- 1s
Ora quando um sistema processa com cada ciclo a gastar 0,3 ns, um acesso a uma cache de nível 1 (L1) pode demorar algo como 0.9 ns. Isto na mesma escala anterior significa:
0.9 ns —————- 3s
Já um acesso a uma cache L2 pode demorar até 2.8 ns. O que na nossa escala significa:
2.8 ns —————-9s
Um acesso a uma cache L3 é pior… podendo gastar 12,9 ns. O que implica:
12,9 ns —————- 43s
Vamos agora fazer um acesso à memória. Que pode demorar 120 ns. Um valor ainda assim pequeno, mas que na nova escala significa:
120 ns ————— 6 minutos
Esta situação dá-nos claramente uma percepção bem superior do que realmente estas diferenças de tempo significam para um processador.
Vamos agora aceder a um SSD, algo que, dependendo dos casos pode demorar entre 50 a 150 micro segundos.
50-150 μs —————- 2 a 6 dias
Surpreendidos com os dados que esta escala nos trás?
Vamos aceder a um HD normal… 1 a 10 mili segundos
1-10ms ————– 1 a 12 meses
Surpresos?
Compreendem agora o impacto que uma ligação internet pode ter na computação de um sistema? Vamos imaginar três níveis de ping, 40 ms (boa ligação), 80 ms (ligação média), e 183 ms (má ligação).
40 ms ————— 4 anos
80 ms ————— 8 anos
183 ms ————–19 anos
Compreendem agora porque em 2013 dissemos imediatamente que o processamento na Cloud que a Microsoft propunha, com auxilio ao GPU era utópico?
Qualquer situação que envolva a internet tem forçosamente grande impacto na capacidade de computação de um sistema. E como percebem agora, são escalas absolutamente gigantes e dispares.
É isto que nos leva a ter grandes dúvidas sobre o que pode oferecer um streaming, pois se vemos alguns jogos a portarem-se relativamente bem, ao serem apenas dependentes do input do utilizador e de um único utilizador, outros arrastam-se e tornam-se injogáveis. E vamos acrescentar aqui que estamos a considerar uma ligação perfeita, sem qualquer perda de pacotes.
Seja como for, mesmo com o streaming a portar-se bem, a realidade é que se os jogos forem online, a latência quase duplica por ter o delay de duas ligações em simultâneo, mas mesmo que tal não fosse o caso lembrem-se sempre que, se o vosso oponente estiver a jogar localmente, a vossa resposta poderá demorar mais 19 anos (183 ms), do que a dele.
Postas assim as coisas, choca, não choca?