Fórum Delphi 7amp;Intel XEON=Problemas de performance (Sim, Não) #299624
16/10/2005
0
Essa semana entrei em contato com o pessoal de suporte da INTEL e com o pessoal de suporte da MICROSOFT ambos ficam jogando a culpa um no outro para esse problema, então o que fiz, entrei em contato com meu fornecedor e perguntei se eles já tinha ouvido falar de alguem que tivesse enfrentado esse mesmo problema. Bom eles me disseram que ja haviam ouvido clientes se queixarem disso principalmente a galera que mexe com designer gráfico e utilizava esses processadores, ele me aconselhou a procurar re-escrever meu software para que melhor atenda a tecnologia do meu processador, de início não concordei muito com o que eles me falaram, portanto quero ouvir mais opiniões.
Alguém já passou por um problema parecido ou alguém sabe se tenho realmente que re-escrever meu software para se adequar a tecnologia do XEON? se tenho como faço isso?
Já é a segunda vez que posto essa pergunta aqui, na primeira acho que não fui muito claro, espero estar dando informações mais diretas agora para que alguém possa me dar uma luz e uma direção para que caminho devo tomar. Só para constar abaixo estão as especificações do meu PC.
INTEL XEON 2.8Ghz FSB 800Mhz
PLACA MÂE INTEL SE7520AF2
2GB DDR2 400Mhz
2 HD SCSI 36.x GB
:roll: :?: :idea: :?:
Henry Lima
Curtir tópico
+ 0Posts
19/10/2005
Crash
t+
Gostei + 0
19/10/2005
Massuda
Você já experimentou medir o tempo que seu programa gasta para processar (de fato) os dados e o tempo que ele gasta para ler os dados do disco? Normalmente a thread ficará ociosa enquanto espera a leitura dos dados, logo a CPU ficará livre.
Gostei + 0
19/10/2005
Henry Lima
Gostei + 0
19/10/2005
Massuda
A razão disso é que é difícil implementar bons programas multithread testando apenas em máquinas com um único processador. Com dois ou mais processadores (ou mesmo HT) as threads passam a ser executadas de fato em paralelo e questões relacionadas a sincronismo passam a ser críticas. Um exemplo disso é a queda de performance que ocorre com o IB6 quando executado em uma máquina com HT.
Gostei + 0
19/10/2005
Henry Lima
Gostei + 0
19/10/2005
Massuda
Fora isso, a única opção que vejo seria esperar por um Delphi 64-bits, o que, segundo o roadmap da Borland, só vai acontecer em 2008.
Gostei + 0
19/10/2005
Henry Lima
Gostei + 0
19/10/2005
Massuda
Mas lembrei que isso pode ser feito no seu programa, usando a função da API do Windows [url=http://msdn.microsoft.com/library/en-us/dllproc/base/setthreadaffinitymask.asp]SetThreadAffinityMask[/url] para forçar sua thread ser executada em um determinado processador; se você forçar todas as suas threads para um mesmo processador, isso dá o mesmo efeito de ter apenas um processador. Talvez você tenha que usar também [url=http://msdn.microsoft.com/library/en-us/dllproc/base/setprocessaffinitymask.asp]SetProcessAffinityMask[/url] para forçar seu programa ser executado em um determinado processador. Isso é algo que pesquisei meses atrás, mas nunca cheguei a usar, portanto, não tenho mais detalhes do que isso.
Uma curiosidade... quantas threads você tem simultaneamente trabalhando no arquivo?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)