Porque é que os navegadores web usam tanto RAM?
I era um desenvolvedor de extensão de navegador quando tudo começou. As pessoas pensavam: "Vamos mover todas as aplicações para a web." Então os desenvolvedores de navegadores começaram a dar aos sites mais e mais recursos de computador.
Naquele momento ocorreram dois grandes problemas.
Um era que os fabricantes de processadores não conseguiam descobrir como aumentar a velocidade dos processadores. Então eles inventaram um conceito de núcleos. Um conceito em que você tem vários processadores menores dentro de um. Uma espécie de.
Este foi um grande negócio. Mas para os navegadores era um problema porque eles estavam operando em um único processo. Então eles foram divididos em múltiplos processos, para que você possa usar todos os núcleos efetivamente.
Mas esta solução tinha uma falha. Cada aba do navegador basicamente se torna uma aplicação separada. E isto significa que cada aba tem um número enorme de megabytes de memória do mesmo núcleo, apenas duplicado.
Então o próximo problema ocorreu. Como os navegadores começaram a dar tanto controle sobre o hardware, não havia uma maneira fácil de compartilhar os mesmos recursos. Você pode pensar em usar um pouco de RAM. Mas era um sério problema de segurança impedindo o hacking nos dados comuns do navegador e o acesso aos dados por este meio a partir de outros processos. Ninguém queria que um site fosse capaz de espreitar outros sites que abriram. E este é apenas um exemplo básico dos riscos que lá existem.
Então tudo ficou separado e duplicado. Hoje basicamente parte da memória é ocupada por duplicatas exatamente dos mesmos recursos do navegador.
Outro problema que resultou no que vemos hoje não vem da arquitetura de hardware, mas como as palavras do desenvolvedor mudaram.
Então até alguns anos atrás, havia um bom conceito para usar os recursos sabiamente. Use apenas a memória que você precisar. Use o máximo de poder de processamento da CPU que precisar. Porque há uma quantidade limitada destes recursos que o seu computador tem.
Então este conceito foi basicamente morto.
Duas razões para isso. Em primeiro lugar, ninguém limita os recursos para sites, e em segundo lugar, a geração atual de desenvolvedores don' não se importa mais com isso.
Hoje o desenvolvimento web é uma corrida rápida onde não há lugar para a otimização. Basicamente, quando você abre um site seu computador carrega toneladas de código, dados que nunca é usado. Um desenvolvedor precisa de uma função simples, mas ele usa uma biblioteca que é 1000x mais poderoso, mas também usa 1000x mais recursos de vários tipos.
Então todos nós pagamos o preço de forçar aplicações web a serem desenvolvidas rapidamente. Menos trabalho para o desenvolvedor = menor custo de desenvolvimento = desenvolvimento mais rápido. Mas também = você precisa comprar mais memória, melhor processador, pagar internet mais rápido, etc. Muitas vezes sem absolutamente nenhum ganho, porque todos os recursos são drenados por mais e mais preguiçosos aplicativos web.
Os desenvolvedores web esperam que você tenha muita memória e uma CPU rápida para lidar com seus aplicativos. Caso contrário, você vai para . Alguns até dizem para se explicar, a memória é barata. Talvez para eles, este é o caso. Mas não para todos, especialmente se você considerar as regiões mais pobres do mundo e as pessoas que não têm'não têm empregos ou têm baixa renda.
Back in the day, o mesmo problema ocorreu com os videogames. Você sempre teve que comprar um PC novo para jogar os últimos jogos. E em algum momento as pessoas estavam tão fartas que o pararam. Jogos que fizeram o maior sucesso foram otimizados para funcionar em máquinas mais antigas como Starcraft ou Quake. Esses jogos são exemplos de arte da otimização.
esperadamente, a preguiça dos desenvolvedores web vai parar e alguém vai quebrar esse ciclo louco de consumir cada pedaço de memória e ciclo de CPU.
Mas até isso acontecer tudo o que podemos fazer é esperar. Também talvez, em algum momento os desenvolvedores de navegadores limitarão os recursos das aplicações web para motivar as pessoas a se esforçar para usar o poder do computador de forma mais sábia. Ou é apenas como deve ser em primeiro lugar e precisamos superar isso.
Por favor, subvote e siga-me porque a tecnologia é legal :)
Artigos semelhantes
- Por que as instalações da Node.js usam tanto RAM?
- Que tipo de relógios usam os Selos, ou os Fuzileiros? Usam relógios caros que lhes são emitidos, ou usam os seus próprios relógios?
- Qual é a diferença entre 4 GB de RAM móvel e 4 GB de RAM para PC? Porque é que a RAM móvel custa menos?
- Quais são alguns dos navegadores web mais privados e seguros disponíveis no Android?