Novo Look @ Apple.com!

Status
Fechado a novas mensagens.
Mas deves estar habituado a isso, no Windows. Ficam sempre ficheiros para trás, mesmo desinstalando ;)
E, normalmente em locais e com nomes que dá mesmo para perceber o que são e se será perigoso apagar manualmente ou não... NOT!!! ;)

Rui Batista

Eu sei disso e é por isso que quero apagar esses ficheiros para numa próxima versão beta ser uma instalação limpinha
 
Mas deves estar habituado a isso, no Windows. Ficam sempre ficheiros para trás, mesmo desinstalando ;)
E, normalmente em locais e com nomes que dá mesmo para perceber o que são e se será perigoso apagar manualmente ou não... NOT!!! ;)

Rui Batista

Na verdade, Linux é bem pior que o Windows nesse aspecto.
Tu instalas software usando o synaptic (p.e.) as dependencias são instaladas, mas ao remover estas não sao desinstaladas.
Depois a $home é "suja" com uma pastinha com o nome .%aplicação%
Podem dizer mal do registo do Windows o quanto quizerem, mas não há muito melhor alternativa!
O Windows Vista obriga a essa nova gestão das aplicações nesse aspecto, do tipo passar dos *.ini's do 3.x para o registo do 95, já no XP há uma tentativa a que 95% do software não respeita $home\Local Settings\Application Data.
Next.
 
Na verdade, Linux é bem pior que o Windows nesse aspecto.
Tu instalas software usando o synaptic (p.e.) as dependencias são instaladas, mas ao remover estas não sao desinstaladas.
Depois a $home é "suja" com uma pastinha com o nome .%aplicação%
Podem dizer mal do registo do Windows o quanto quizerem, mas não há muito melhor alternativa!
O Windows Vista obriga a essa nova gestão das aplicações nesse aspecto, do tipo passar dos *.ini's do 3.x para o registo do 95, já no XP há uma tentativa a que 95% do software não respeita $home\Local Settings\Application Data.
Next.

Linux não é de modo algum pior que Windows nesse aspecto. Não só há vários programas capazes de desinstalar também as dependências quando estas já não são necessárias (aptitude, debfoster, etc. – só falando das que usam apt) como as tais "pastinhas" ficam na homedir intencionalmente. Ainda tenho configurações da minha homedir de há 7 anos. Algumas configurações transitam comigo de computador para computador ao longo do tempo.

As directorias que não servem para nada são fáceis de apagar ou deixar lá já que, sendo apenas pastas, não precisam de ser lidas a não ser que algum programa as use. Na realidade, até podem estar lá 300 directorias diferentes que o computador não ficará mais lento por isso, nem 0,01%. Já um sistema como a registry levanta problemas diferentes: ao juntar tudo no mesmo sítio garante que cada programa que usa a registry "vê" a complexidade nela instalada.

É perfeitamente possível ter uma instalação de Linux a correr durante anos sem reinstalar, fazendo updates, usando e experimentando software (estável ou beta) e ao fim desse tempo todo tê-la tão rápida e funcional como no primeiro dia. Com um bom package manager é possível saber exactamente a que aplicação pertence cada ficheiro no disco, mesmo que haja 300 mil ficheiros, quando eu usava Gentoo até via nos fóruns pessoas obcecadas a utilizar scripts que removiam todos os ficheiros sem dono (excepto os documentos, claro). Experimentem fazer isso em Windows!

Edit: Só agora vi o título desta thread. Não apago o meu post porque a resposta me parece pertinente mas desculpem ter fugido ao tema.
 
Última edição:
Linux não é de modo algum pior que Windows nesse aspecto. Não só há vários programas capazes de desinstalar também as dependências quando estas já não são necessárias (aptitude, debfoster, etc. – só falando das que usam apt) como as tais "pastinhas" ficam na homedir intencionalmente. Ainda tenho configurações da minha homedir de há 7 anos. Algumas configurações transitam comigo de computador para computador ao longo do tempo.

As directorias que não servem para nada são fáceis de apagar ou deixar lá já que, sendo apenas pastas, não precisam de ser lidas a não ser que algum programa as use. Na realidade, até podem estar lá 300 directorias diferentes que o computador não ficará mais lento por isso, nem 0,01%. Já um sistema como a registry levanta problemas diferentes: ao juntar tudo no mesmo sítio garante que cada programa que usa a registry "vê" a complexidade nela instalada.

É perfeitamente possível ter uma instalação de Linux a correr durante anos sem reinstalar, fazendo updates, usando e experimentando software (estável ou beta) e ao fim desse tempo todo tê-la tão rápida e funcional como no primeiro dia. Com um bom package manager é possível saber exactamente a que aplicação pertence cada ficheiro no disco, mesmo que haja 300 mil ficheiros, quando eu usava Gentoo até via nos fóruns pessoas obcecadas a utilizar scripts que removiam todos os ficheiros sem dono (excepto os documentos, claro). Experimentem fazer isso em Windows!

Edit: Só agora vi o título desta thread. Não apago o meu post porque a resposta me parece pertinente mas desculpem ter fugido ao tema.

O registo pode causar slowdown tal como os files ocultos no disco o fazem!

Dei-me ao trabalho de fazer esta aplicação em C para não pensares que estou a inventar, o programa cria 5 mil entradas* na registry do Windows, depois a mesma aplicação tem a opção de fazer Benchmark, o Benchmark não é mais que ler 120 vezes uma subfolder incluindo o seu conteudo da registry, o subfolder é o RUN do windows (aplicações startup) que no meu windows sao 12 que dá 120*12 = 1440 leituras de strings da registry, e guess what, 26 segundos com a registry suja e os mesmos 26 segundos com ela limpa.

Aqui tens o source, depois de compilares tens que desligar o antivirus pq eh considerado um virus, o programa tem 3 opçoes, Benchmar, Fazer lixo, e remover o Lixo.
Boa sorte..
*o lixo é em forma de strings por serem as maiores entradas que o registo suporta

Código:
#include <iostream>
#include <time.h>
#include <string.h>
using namespace std;

int main(int argc, char *argv[])
{
    
    time_t inicio;
    time_t fim;
    char opcao(1);
    
    printf("===============  MENU  =============\n");
    printf("= Para correr o Benchmark        B =\n");
    printf("= Para adicionar lixo ao registo A =\n");    
    printf("= Para remover o lixo do registo R =\n");
    printf("====================================\n"); 
    
    scanf("%c",&opcao);
    int a;
       
    switch (opcao){
    case 'A':{
       char cmdadd[120] = "";
       char itoastr[5] = "";
       for (a=0;a<=5000;a++){
          itoa(a, itoastr,10);
          strcpy(cmdadd,"");
          
          strncat(cmdadd,"reg add \"hklm\\software\\LIXO\" /v LIXO",36);
          strncat(cmdadd,itoastr,strlen(itoastr));
          strncat(cmdadd," /t reg_sz /d LIXOLIXO",22);
          printf("%s\n",cmdadd);
          // reg add \"hklm\\software\\LIXO\" /v LIXO%s /t reg_sz /d LIXOLIXO\n",itoastr);
          system(cmdadd);  
          };
       break;
       }
    case 'B':{
       time(&inicio);
       for (a=0;a<=200;a++){
          system("reg query \"hklm\\software\\microsoft\\windows\\currentversion\\run\" /s ");
       }

       time(&fim);
    
       printf("===============STATUS==============\n");
       printf("Inicio: %s \n",asctime(localtime(&inicio)));
       printf("Fim: %s \n",asctime(localtime(&fim)));    
    
       double diferenca;
       diferenca = difftime(fim,inicio);
       
       printf("Demorou no total %.2lf segundos\n",diferenca);
    
       printf("===================================\n");
       break;
    }
    case 'R':{
       system("reg delete \"hklm\\software\\LIXO\" /f");  
       break;
       }
    default: 
       printf( "Ehs parvo ou nao sabes ler?\n" );
       break;
    };
    system("pause");
}
o IDE que usei eh o Dev-C++
 
Fazer benchmarks não é uma coisa linear. Já ouviste falar de caches? Parece-me que não.

Uma das coisas que ajavarda o Windows é o Windows Prefetcher. O conceito é interessante mas com o tempo torna o windows pesado. Uma vez fiz uma experiência e fiz um género de "reset" no Prefetcher e a máquina ganhou vida.
 
Fazer benchmarks não é uma coisa linear. Já ouviste falar de caches? Parece-me que não.
Não tens mais nenhuma teoria da treta?
É que assim eu juntava tudo, e respondia num só post, o que me poupava trabalho.

Cache do quê? O programa utiliza outra aplicação chamada reg.exe (do Windows), esta abre e encerra a cada lida e escrita, mas se o teu medo é o Windows passar a registry prá memoria, então para que há disk access a cada processo? Achas que o Windows passa a registry toda para a memória para depois ter que fazer um total overwrite quando modificada?
Podias argumentar que o precesso de printf(); e a chamada ao reg.exe atravez da shell é lento o suficiente para não se notar diferença no bench, mas mesmo assim, 1s ao menos deveria atrazar num total de 12000 acessos há registry.

O registro do Windows é uma base de dados binária, indexada de alta velocidade, não fosse esta ultima o seu ponto forte em relação aos ficheiros de texto.
Since accessing the registry does not require parsing it can be read from and written to more quickly than a text file can be.
Os problemas de uma registry gorda é por esta ser directamente proporcional à quantidade de lixo instalado no disco, uma limpesa é sempre bom, obviamente que sim, mas a menos que esta seja em pontos estratégicos, que é o que muitos programas de limpesa fazem, emagrecer a registry só porque sim, não irá aumentar a performance global do windows.
A registry é o file $USER$\NTUSER.DAT, embora o "seu todo" seja portavel, não o é da melhor maneira (IMO obviamente).
 
Não tens mais nenhuma teoria da treta?
É que assim eu juntava tudo, e respondia num só post, o que me poupava trabalho.

Com saídas destas não esperes que perca tempo a explicar-te coisas básicas. E tens razão quanto à chamadas ao reg.exe pela shell. Mas isso ainda é mais básico que a questão das caches mesmo que fizesses tudo em baixo nível.
 
Última edição:
Tens que ver que é um bocado chato, um gajo esforçar-se, andar na web a pesquisar, perder o seu tempo, tentar arranjar algo concreto e irrefutiveis, para justificar teorias da treta mandadas à "toma lá vai buscar"..

Enough said.
 
Tens que ver que é um bocado chato, um gajo esforçar-se, andar na web a pesquisar, perder o seu tempo, tentar arranjar algo concreto e irrefutiveis, para justificar teorias da treta mandadas à "toma lá vai buscar"..

Enough said.

Meu caro, não se aprende "andando" na net a pesquisar. É preciso experiência e formação de alguns anos e não sou eu que vou andar aqui no fórum a explanar os princípios e os "pitfalls" básicos do benchmarking. São cadeiras a partir do 3 ano e mais em qq curso decente sobre informática ou sistemas.
 
Como se discutiu aqui tudo menos o novo look do Apple.com e já estão a descambar para comentários despropositados, thread closed.

Quem quiser ir discutir os prós e contras do Safari que o faça na thread aberta na zona de software.
 
Status
Fechado a novas mensagens.
Back
Topo