[DUV] Sistema de arquivos -q
#1

Eu sempre usei includes como Dini, Fini, Y_Ini, SII e dFile, tudo em busca de uma melhor velocidade e algo que possa me atribuir mais opзгo na hora de salvar/ler dados.

Em uma conversa, a um bom tempo atrбs, certo pessoa me disse que o prуprio File, aquele padrгo do SA:MP que 99%Ёdos scripters novos nunca ouviram falar й o mais rбpido.

Atй entгo nunca nunca tinha acreditado, e muito menos ter vontade de fazer testes.
Mas hoje, junto com o Josma, procurando uma alternativa agente estava conversando e do nada me bateu a idйia de fazer um simples teste.

Pois fiz o teste;

pawn Код:
new InicioSII, TotalSII;
new strings[128];
print("Teste SII");
INI_Open("Teste_Velo1.txt");
InicioSII=GetTickCount();
for(new i;i< 5000;i++) {
    format(strings, sizeof(strings), "teste%d", i);
    INI_WriteString(strings, strings);
}
INI_Save();
INI_Close();
TotalSII=GetTickCount()-InicioSII;
printf("Tempo SII: %d", TotalSII);
//---
new InicioFile, TotalFile;
new stringf[128];
print("\n\nTeste File");
new File:ftw=fopen("Teste_Velo2.txt", io_write);
InicioFile=GetTickCount();
for(new i;i< 5000;i++) {
    format(stringf, sizeof(stringf), "teste%d\r\n", i);
    fwrite(ftw, stringf);
}
fclose(ftw);
TotalFile=GetTickCount()-InicioFile;
printf("Tempo File: %d", TotalFile);
E o resultado que me apareceu foi este;



Agora a minha pergunta й, eu realmente fiz certo esse teste?
Eu sei que nгo fiz o teste de leitura (Preguiзa :/) mas o File realmente tem essa vantagem vista acima?

Quem usa qualquer outro tipo de sistema de salvamento poderia fazer um teste junto com o FIle normal?^
*Vale apena usar o File!?

Eu sei que os demais sistemas tem inъmeros recursos, para salvar tudo, e o File й bem simples e tem suas funзхes meio que restritas. Enfim, gostaria de ouvir quem й mais experiente.

vlw


EDIT: Eu sei que nгo precisava colocar o loop tгo grande, mas fiquei na curiosidade.
EDIT2: Fui abrir os arquivos, o SII salvou apenas 255 linhas, enquanto o File salvou 5000 linhas, erro?
EDIT3: Erro grave meu ._.
Note: There are faster alternatives than writing / reading files, such as DJSON, SII and Y-ini

Entгo agora a pergunta й, qual o meu erro no teste acima? jб que a prуpria wiki diz que hб alternaitivas mais rбpidas.
Reply
#2

Й claro que o fwrite й o mais rбpido, atй por que SII, Y_INI, Fini entre outros sгo fwrite com um sistema de leitura e salvamento adaptado. Claro, vocк precisa ter a capacidade para fazer um sistema que ganhe desempenho.
Reply
#3

pffft
Reply
#4

Entгo porque na wiki mensiona que hб outros sistemas mais rбpidos?
Reply
#5

Por que a wiki й fail, e existe tambйm SQLite e MySQL, mas eles nгo sгo mais rбpido que fwrite.

Agora se estб pensando que vai fazer um GM "Otimizado" usando fwrite sem saber programar, pode acreditar, vocк estб errado.
Reply
#6

-q vlw
Reply
#7

Os prуprios sistemas de arquivos que vocк conheзe usam fwrite.
A grande diferenзa й que eles tornam o uso mais amigбvel.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)