Jump to content

Motivo Da Lentidão Dos Aplicativos Para Loterias


Fir3LorD

Recommended Posts

Olá, bom dia a todos, estava a procura de um processador com ótimo processamento de dados e olhem o que descobri: os aplicativos que tem que se adaptar aos componentes do pc para tirar melhor proveito e terem um rendimento melhor, ou seja; tem que fazer um grande investimento para se ter um bom conjunto e um investimento num bom aplicativo que tire proveito de tanta tecnologia.   Mito ou verdade: processadores com mais núcleos são sempre melhores?

 89.998

Visualizações

Por Vinicius Karasinski 

20 out 2012 - 23h 57

Desde que os processadores com mais de um núcleo começaram a surgir nos desktops em 2005, essa dúvida vem permeando a mente dos consumidores, principalmente com a explosão de lançamentos que ocorreu nos últimos anos. O senso comum diz que, quanto mais núcleos, melhor. O problema é que isso nem sempre é verdade.

A teoria diz que mais núcleos podem quebrar o processo em partes menores, sendo que cada um doscores fica responsável por resolver apenas parte do processamento. Com isso, o consumo de energia, em teoria, também é menor, já que a CPU precisa fazer menos esforço para realizar aquela atividade específica.

928123519175335.jpg?w=1040(Fonte da imagem: Reprodução/Legit Reviews)

Núcleos ociosos não adiantam nada

Vamos começar com um pouco de teoria e um exemplo simples. Para que você realize uma tarefa no computador, você acessa um software. Para que ele faça o que você precisa, é necessário que ele envie os comandos para o processador, que é quem vai executar as tarefas, uma por vez. Portanto, quem decide como a CPU vai trabalhar é o software em execução no momento.

Esse software é como se fosse o gerente de uma fábrica; o processador seria a linha de produção; os operários seriam equivalentes aos núcleos do processador.

O primeiro operário (núcleo 1) recebeu uma tarefa de seu gerente (software). Prontamente, ele atendeu a ordem e conseguiu concluir o processo.

Agora imagine que existem dois funcionários trabalhando nessa mesma linha: isso seria o equivalente a um processador dual-core. Caso o gerente mande uma tarefa apenas para o primeiro operário, o segundo fica sem ter o que fazer. Ele fica apenas sentado e tomando cafezinho enquanto o primeiro se arrebenta de trabalhar por conta.

92812351917559.jpg?w=1040(Fonte da imagem: Reprodução/Reg Hardware)

Para resolver esse problema, o gerente deveria ter dividido a tarefa em duas partes e mandado cada um deles fazer uma delas. Dessa maneira, o processo seria concluído em menos tempo e com maior eficiência.

E onde queremos chegar com esses exemplos? Simples: um processador com muitos núcleos só é eficiente se os aplicativos souberem utilizar esses núcleos; mas infelizmente não é isso o que acontece em muitos casos, mesmo que processadores multi-core não sejam exatamente uma novidade.

Porque nem todos os aplicativos suportam múltiplos núcleos?

A resposta é simples: porque dá mais trabalho programar. Para um software funcionar com mais de um núcleo, os desenvolvedores precisam inserir muito mais linhas no código dos aplicativos. Em vez de simplesmente mandar o software executar uma função específica pelo processador, é preciso determinar qual núcleo vai fazer o que e quando. Quanto mais núcleos, mais complicada é essa tarefa.

Apesar de a maioria dos desenvolvedores já trabalhar com esses recursos, não são todos que o fazem. Muitas vezes porque é muito caro perder tempo com programação apenas para otimizar os processos e outras por motivo de compatibilidade.

92812351917564.jpg?w=1040(Fonte da imagem: Reprodução/Reg Hardware)

Vejamos os smartphones Android, por exemplo. Um dos aparelhos mais conhecidos e poderosos da atualidade é o Galaxy S3, da Samsung, que possui um processador quad-core. O problema é que existem centenas de aparelhos que utilizam o sistema Android. Coloque-se no lugar de um desenvolvedor: se você fosse desenvolver um aplicativo para o sistema, faria ele compatível com o maior número de aparelhos ou com apenas um ou dois?

É nesse ponto que a Apple leva certa vantagem, pois possui poucos modelos de aparelhos. Com isso, é possível otimizar o desempenho de uma maneira mais específica para o iPhone 5 do que para o Galaxy S3, por exemplo.

Mais núcleos ou núcleos mais rápidos?

A velocidade era o parâmetro mais utilizado alguns anos atrás para medir o desempenho dos processadores, e na época até fazia sentido, pois, quanto mais MHz tinha uma CPU, melhor. Infelizmente a tecnologia chegou a um ponto em que apenas aumentar o ciclo de operações por segundo dentro das máquinas tornou-se quase inviável, principalmente devido ao consumo de energia e aquecimento dos componentes.

Baseando-se nisso, os engenheiros desenvolveram métodos de aumentar o desempenho dos processadores adaptando mais recursos, melhorando a tecnologia e tornando os equipamentos mais eficientes. No caso dos processadores com vários núcleos, eles tornaram-se melhores em executar várias tarefas simultaneamente.

928123519175642.jpg?w=1040(Fonte da imagem: Divulgação/Qualcomm)

Ou seja, um processador com múltiplos núcleos é mais recomendado para quem é adepto da multitarefa. No caso de se executar apenas um aplicativo e, principalmente, se esse aplicativo não for otimizado para aproveitar todos os núcleos disponíveis, um processador com core único e um clock maior é mais recomendado.

Muitos núcleos gastam menos ou mais energia?

Existe outra analogia que ajuda a responder essa pergunta: imagine que o processador é o motor de um carro e cada núcleo é um cilindro. Qual motor seria mais econômico, o que tem quatro cilindros ou o que tem oito? Salvas as devidas proporções, o carro de oito cilindros é realmente mais poderoso quando você pisa no acelerador, mas, para oferecer toda a potência que ele carrega, ele consome mais gasolina. Seguindo esse raciocínio, é fácil imaginar que, quanto mais núcleos, maior é o consumo.

Quem discorda dessa afirmação é a NVIDIA, que fabrica os processadores da linha Tegra para smartphones. Segundo a empresa, os núcleos são desativados quando não são utilizados e voltam à atividade apenas quando algum software exige mais poder de fogo.

Hyper-threading: um núcleo real, dois núcleos lógicos

Quando a fabricação de um processador com dois ou mais núcleos ainda era muito cara, a Intel desenvolveu um sistema interessante de multiprocessamento. Trata-se do Hyper Threading, em que o processador possui apenas um núcleo físico, mas o sistema operacional enxerga dois. É como se o mesmo núcleo pudesse fazer duas coisas ao mesmo tempo. Desse modo, a execução de várias tarefas simultâneas tornou-se mais eficiente.

92812351918485.jpg?w=1040(Fonte da imagem: Divulgação/Intel)

Quem é o responsável por gerenciar esses recursos é o sistema operacional, que envia dois processos ao mesmo tempo para o processador. Portanto, o sistema operacional precisa ser compatível com processadores de núcleos múltiplos e também com a tecnologia HT.

Esse sistema passou a ser utilizado na maioria dos processadores da linha Core, da Intel. Graças a isso, temos processadores com 2 núcleos físicos mas 4 núcleos lógicos, como o Core i3, e processadores com até 12 núcleos, sendo 6 deles físicos e 12 lógicos, como é o caso do Core i7 980X.

Existe uma vantagem real em ter um processador com vários núcleos?

Como já foi dito anteriormente, em teoria, quanto mais núcleos, melhor. Mas para sustentar essa afirmação é preciso que todo o ecossistema seja preparado para isso. O número de aplicativos que suporta vários núcleos aumenta a cada dia, portanto, é provável que em pouco tempo a diferença de se ter vários coresem um processador seja um diferencial muito maior do que é hoje.

Mesmo que os sistemas operacionais modernos, como o Windows 7, gerenciem o sistema com muito mais eficiência distribuindo a força de processamento entre todos os núcleos, dificilmente isso vai ser tão eficiente quanto um software que pode trabalhar nativamente com múltiplos cores.

928123519184838.jpg?w=1040(Fonte da imagem: Divulgação/Apple)

A questão muda um pouco de figura no caso dos smartphones. Em nossa análise do iPhone 5, colocamos o Galaxy S3 de frente com o aparelho da Apple e mostramos que o dobro de núcleos não é necessariamente melhor. O que interessa mesmo é o que o sistema operacional e os aplicativos façam com o poder disponível.

Nos desktops temos um ótimo exemplo: enquanto alguns processadores da AMD trazem oito núcleos, os concorrentes da Intel trabalham com apenas quatro. Mesmo assim, os processadores da Intel são mais eficientes (na geração atual). Isso acontece pelo conjunto da arquitetura como um todo e não simplesmente pela quantidade de cores que os processadores possuem.

928123519185236.jpg?w=1040 (Fonte da imagem: Divulgação/Samsung)

Lembre-se: uma linha de produção com muitos funcionários, todos inexperientes, é menos produtiva do que uma linha com poucos funcionários, porém experientes.

Portanto, antes de adquirir um novo equipamento, seja PC ou smartphone, tenha em mente que a sua escolha precisa contemplar o sistema como um todo e não apenas a quantidade de núcleos encontrada no processador.

Fonte: ACN NewswireCNETWorld StartPC MagNVIDIA

 

http://www.tecmundo.com.br/processadores/31584-mito-ou-verdade-processadores-com-mais-nucleos-sao-sempre-melhores-.htm

Bom dia a todos.

Link to comment
Share on other sites

100% correto. Não é simples para os programadores de loteria, por exemplo, usar dos recursos de multi-core. A linguagem que você usa para fazer seus aplicativos é que deveria se encarregar de "dividir" as tarefas. Não é simples você decidir e definir como fazer o compartilhamento dos cores. Pelo menos eu nunca fui atrás disso.

Link to comment
Share on other sites

100% correto. Não é simples para os programadores de loteria, por exemplo, usar dos recursos de multi-core. A linguagem que você usa para fazer seus aplicativos é que deveria se encarregar de "dividir" as tarefas. Não é simples você decidir e definir como fazer o compartilhamento dos cores. Pelo menos eu nunca fui atrás disso.

 

Esta certo Dixie.

 

O principal ponto é a linguagem do aplicativo.

 

De que adianta ter um Core i7 de 4 geração se o aplicativo foi construído em uma linguagem sem suporte a multi Thread?

 

Mas um bom processador aliado a linguagem correta faz uma diferença absurda....

Link to comment
Share on other sites

Esta certo Dixie.

 

O principal ponto é a linguagem do aplicativo.

 

De que adianta ter um Core i7 de 4 geração se o aplicativo foi construído em uma linguagem sem suporte a multi Thread?

 

Mas um bom processador aliado a linguagem correta faz uma diferença absurda....

Java poderia detalhar mais sobre sua colocação: o que isso séria na pratica?

 

Abraços

Link to comment
Share on other sites

Encontramos programas que apesar de serem desenvolvidas com o uso de linguagem e ferramentas novas e com todo tipo de suporte para novas tecnologias mas não empregam boas práticas de programação. Como citado o uso de thread para dividir o processamento também ajuda. Trabalho com programação a muito anos e sempre encontro barbaridades quando faço consultoria para empresas de desenvolvimento.

 

"bom processador aliado a linguagem correta" + boas praticas de programação

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...