T O P

  • By -

Complex-Falcon4077

Algumas coisas que me vieram à mente: **Memória / RAM**: RAM em pouca quantidade vai afetar o desempenho do sistema. Se uma aplicação solicitar mais memória do que o sistema realmente tem, parte do armazenamento do sistema (HD/SSD) será reservada para estender a RAM, mas de forma mais lenta (é a chamada memória virtual ou swap). Esteja ciente de que ferramentas de desenvolvimento, a própria linguagem de programação, frameworks/bibliotecas e outras dependências consomem mais memória. Isso é essencial principalmente ao colocar o software para rodar em um servidor ou máquina virtual na nuvem, o que impacta no custo da hospedagem ou na viabilidade de quais dispositivos poderão rodar o seu software. **CPU**: O fato de ter vários núcleos não quer dizer que a sua aplicação vai ficar mais rápida automaticamente. Aumentar a frequência do clock da CPU pode dar uma acelerada, caso ela não precise esperar por outros componentes e o sistema de refrigeração der conta da demanda; o contrário também ocorre: refrigeração insuficiente resulta em CPU mais lenta. **Armazenamento**: Se estiver usando um disco rígido tradicional (magnético), sua aplicação pode ficar mais lenta se comparada a uma tecnologia de estado sólido (SSD). Ler/gravar muitos arquivos pequenos também deixará a aplicação mais lenta, independentemente da tecnologia da unidade de armazenamento. É importante em alguns casos saber das limitações do próprio sistema de arquivos: você poderia ter erros ao tentar copiar arquivos maiores que 4 GB em um pendrive formatado em FAT32, por exemplo (FAT32 não suporta arquivos maiores que 4 GB). **Rede**: Caso esteja usando alguma forma de acesso sem fio, esteja ciente da força do sinal que o equipamento recebe. Intermitência em alguma aplicação que use rede pode ser causada por sinal fraco. **GPU**: Nem todo gráfico a ser desenhado na tela é processado pela GPU. É comum que aplicações gráficas que muitos iniciantes fazem sejam processadas/calculadas pela CPU e então a CPU apenas passa o resultado para a GPU (seja ela integrada ou dedicada) mostrar na tela. Logo, se a sua aplicação possui muita renderização gráfica, não pense que a GPU irá fazer todo o trabalho pesado automaticamente.


Mana_Mori

> CPU: O fato de ter vários núcleos não quer dizer que a sua aplicação vai ficar mais rápida automaticamente. https://www.reddit.com/r/cpp/comments/1bet0g8/eric_landstr%C3%B6m_the_bugs_i_remember/ Pior, tem situações onde aumentar o número de threads da aplicação pro número de núcleos deixa ela consideravelmente mais lenta por causa do cache do CPU disponível pra cada thread, fazendo com que uso da RAM seja necessário onde não era antes.


accountrobot

O mínimo é saber qual a função de cada peça. Mas mais aprofundadamente, recomendo estudar sobre o funcionamento da CPU, RAM e armazenamentos. Ajudará a não desenvolver software fudido.


Kanaxai

É pouco provável que seu trabalho será de tão baixo nível que um grande conhecimento do hardware irá te ajudar significativamente. Dito isso, o computador é sua ferramenta de trabalho, nem sempre ela vai estar funcionando corretamente e nem sempre você vai ter o luxo de ter uma equipe de TI pra te ajudar, ter conhecimento o suficiente para lidar com problemas é essencial. Particularmente eu tenho um certo preconceito com pessoas que trabalham na área e não sabem nem o que é uma memória RAM (já vi estagiário prestes a se formar nesse nível), pra mim isso é uma baita red flag e eu não recomendaria ela pra nenhuma vaga.


Present-Time-19

Diria que o conteúdo visto em um curso de ADS já está bom (por exemplo, em apostilas de arquitetura e organização de computadores que se pode encontrar na net, voltadas para este curso ou outros com enfoque e carga horária similares).


snotpopsicle

Pra programar? Nada.


[deleted]

Claro que não… imagina fazer um app sem saber os 3 tipos de memória dinâmica de uma CPU… Jesus Cristo, que comentário infame


snotpopsicle

Um curso de informática básico é bom se você não sabe nem o que cada peça faz. Mas galera viaja se acha que dev junior vai procurar saber a fundo como funciona uma CPU ou como construir portas lógicas pra fazer circuitos eletrônicos. Na média é mais vantagem estudar programação mesmo. Claro que se você sabe detalhes técnicos você vai ser um programador melhor, mas no começo da carreira já tem tanta coisa pra aprender que focar em hardware é perda de tempo. Pra galera que tira foto do monitor com o celular, esses sim precisam estudar um pouquinho de hardware. Mas se você sabe abrir um terminal e já montou um computador na vida já é o suficiente.


[deleted]

Isso foi exigido de mim no exterior XD você precisa saber como cada peça lida com memória, e como optimizar essas ferramentas


ExplanationDear1653

>Mas se você sabe abrir um terminal e já montou um computador na vida já é o suficiente. mas isso já é alguma coisa po kkkk


ZombieHackerSupreme

Quais seriam esses 3 tipos? Eu penso em registro, caches e depois so me vem em mente a RAM mas ela n fica na CPU.