Qual a maneira de ver a previsão do tempo que consome menos memória do computador?

Em um post no blog Windows Latest, Abhijith M B alerta que o aplicativo de previsão do tempo do Windows 11 consome até 1,2 GB de memória (RAM) do computador. É bastante, sim. Para situar esse excesso, ele o compara ao do macOS, cujo aplicativo equivalente consome em média 20% do do Windows.

Mais que com o aplicativo do Windows, surpreendi-me em saber que o Tempo.app do macOS gasta ~230 MB e que isso é considerado pouco. (Uso-o bastante e nunca me ocorreu verificar esse dado.) Em distribuições Linux, o cenário não é muito melhor.

Há indícios da justificativa desse tanto de memória: as animações bonitinhas do clima no fundo do aplicativo do macOS, os locais extras na barra lateral e os múltiplos dados para além da previsão da temperatura (precipitação, índice UV, qualidade do ar), tudo exibido em um leiaute agradável.

Janela do aplicativo Tempo, do macOS, mostrando a previsão do tempo em Curitiba.
Não dá para ser feliz nessa temperatura 🥶

O do Windows 11 é mais inchado por ser, na realidade, um site empacotado e sites empacotados costumam ser mais pesados mesmo. Também pela presença de anúncios e, imagino, todo o aparato de rastreamento e vigilância que costuma estar atrelado à publicado digital.

Peguei-me pensando: qual a maneira mais eficiente, do ponto de vista computacional, de saber a previsão do tempo?

Minha primeira ideia foi recorrer aos buscadores web. Todos, como Google, Bing e DuckDuckGo, exibem a previsão se você pesquisar por “previsão do tempo”. Testei com esses três:

  • DuckDuckGo: ~190 MB.
  • Google: 323 MB.
  • Bing: 311 MB.

O DDG é o mais eficiente, mas apenas o Bing entrega resultados detalhados equivalentes ao dos aplicativos nativos.

Um detalhe relevante é que o meu navegador tem extensões de bloqueio de anúncios e rastreadores, o que diminui a necessidade de memória. Ainda assim o consumo é alto, e poderia ser maior porque analisei apenas o processo da aba, e não o do navegador em si (Safari, no exemplo), que no aplicativo do Windows 11 entra na conta.

Lembrei-me, então, de um serviço que devolve a previsão do tempo pelo terminal, o wttr.in. O único requisito é ter o curl instalado no sistema. Aí, basta digitar isto:

curl wttr.in/Curitiba

Se tirar a cidade, a requisição tenta adivinhar a sua localização pelo endereço IP. O terminal do macOS, ao ser aberto consome ~60 MB de RAM e permanece assim após um pequeno pico que adiciona 10 MB durante a consulta ao wttr.in. Dos dados que o wttr.in devolve, só senti falta da umidade relativa do ar:

Janela do terminal exibindo a previsão do tempo para Curitiba via wttr.in.
Muda o visual, mas a tristeza com o frio segue a mesma.

(Dá para recuperar a umidade do ar com um parâmetro na URL de consulta, assim: curl "wttr.in/?format=%h". Seria legal se fizesse parte da saída padrão, porém.)

Isso importa? Idealmente, não. Memória existe para ser usada, afinal. O caso do Windows 11 é um ponto fora da curva e, com sorte, algo que a Microsoft em algum momento resolverá, se as promessas feitas em março, de que o Windows ficará mais leve e com menos anúncios, se cumprirem.

Dito tudo isso, esta breve investigação foi realizada apenas para fins de entretenimento.

Deixe um comentário

Por favor, leia as regras antes de comentar.

Markdown *não* funciona. Tags HTML permitidas: <b> <strong> <i> <em> <a> <ul> <ol> <li> <code> <cite> <blockquote>

15 comentários

  1. Que coisa…

    E os apps para smartphones?
    Uso Samsung / Android e desinstalei há mais de ano o app de tempo que veio nele porque travava demaaaaissss… mas nunca olhei quanto consumia de RAM…

    O fato é que já cansei de entrar no Google e digitar “tempo em sjc”… alguma dica?
    Valeu

  2. Hahaha! Gente, estamos falando de um mísero request que retorna um JSON absolutamente trivial, e isso é exibido pro usuário com meia dúzia de imagens simples e texto puro. Praticamente nada pode ser mais banal em termos de serviço web.

    O comando ‘curl wttr.in/[cidade]’ citado faz exatamente isso: 8,4 kb do request, alocando cerca de 16 MB (consumo do curl e suas dependências; o curl em si aloca menos de 5 MB). Daria pra melhorar, mas não chega a ser um absurdo.

    Isso importa? Idealmente, não. Memória existe para ser usada, afinal.

    Essa talvez seja uma das maiores falácias quando se fala de consumo de memória RAM. Os aplicativos hoje gastam horrores de memória não porque estão otimizando a performance ao usar a memória do sistema de maneira inteligente. Pelo contrário, estão cada vez mais inchados e lentos. A explicação é o distanciamento de linguagens de baixo nível, priorizando camadas e camadas de abstração que supostamente facilitam a vida do programador (mas que muitas vezes não passam de hype besta criado por empresa duvidosa — olá, Meta com seu incrível React…).

    Felizmente a era de humanos programando está no fim, e agora vemos uma enxurrada de programas mal escritos sendo refeitos do zero usando linguagens de verdade, como o Frame, reimplementação do X11 feito em Assembly: https://github.com/isene/frame

  3. Queria ver o teste sem bloquear anúncios no navegador. Ia ser um show de horror.

    @Ghedin, não há opção de logar mais para comentar aqui no MdU? Estou no Chrome no smartphone, revirei a página e não encontrei a opção de login. É somente no Órbita agora?

    1. As contas ainda existem no sistema, mas serão excluídas em breve. Por isso, removi os links do front-end. (Acho que vou fazer um post sobre isso; você não é a primeira pessoa que me pergunta.)

  4. 60MB ainda é muito pra um app via terminal.
    20 anos atrás, já existia ADSL (banda larga) e os computadores tinha 64MB/128MB de RAM e rodavam esses mesmos aplicativos. O que mudou?

    1. Imagino que coisas circunstanciais, como a renderização da janela do emulador de terminal, por exemplo. É difícil encontrar um software em sistemas modernos que ocupam apenas um dígito de memória.

      Abri o Monitor de Atividades e procurei o aplicativo, o que se apresenta como tal na interface, com menor consumo de memória. É o ícone na bandeja do Syncthing, com 24,2 MB. (Note que é só o da menubar. Se considerar os outros processos do Syncthing, o total sobe para 75,2 MB.)

      1. Não tem nenhuma utilidade, mas pra saber o tamanho real acho que daria pra usar um terminal puro (`tty1` no Linux) e ver como é. Zero utilidade, eu sei.

  5. Isso importa? Idealmente, não. Memória existe para ser usada, afinal.

    Sim, mas o problema é ver o sistema gastando RAM enorme para aplicativos menores E os upgrades serem restritos por causa dos preços estratosféricos da Memória RAM…

  6. Fiquei curioso pra saber quanto de RAM consome o applet do KDE Plasma que apresenta a previsão, mas ele roda dentro do processo geral do plasmashell, daí ficou difícil de identificar.

    Mas com certeza deve muito menos que os citados na matéria – o plasmashell inteiro está consumindo 340 MB nesse momento.

    1. Tem um painel para expandir o consumo do plasmashell, não? Foi ali que notei que a notificação de atualizações disponíveis consome uma quantidade nababesca de memória (+300 MB).

      1. Tem sim, mas não consegui identificar qual processo daqueles é específico do applet de previsão.

        Por sinal, que app é esse de notificação de atualizações que bateu +300 MB? Que absurdo, meu plasmashell inteiro chega em valores próximos a esse.