seruenix Temat założony przez niniejszego użytkownika |
Szybkośc funkcij input/output (ppliki) » 2011-06-30 22:36:04 Witam. Pisze program który szyfruje(szyfrem rot13) duże pliki, korzystam z funkcij(do obsługi plikow) z pliku cstdio(fgetc,fputc).(Dla testów zrobilem program ktry przepisuje pliki i srednia predkosc przepisywania to 4/5 mb/s(bardzo malo), dodam, ze to nie moze byc wina dysku, poniewaz gdy kompresuje 7z(na najnizszychs) to mam predkosci rzedu 30/35mb/s) Jednak wydajnośc mnie nie za bardzo zadwala.
Pytnie : Są jakieś szybszę, funkcje do oczytu/zapisu plikow niżss te z cstdio?
Z gory dienx. |
|
michalp |
» 2011-06-30 23:01:48 Pytasz się czy są szybsze funkcje zamiast pytać się jak korzystać z nich w optymalny sposób? Zacznij od tego drugiego. |
|
seruenix Temat założony przez niniejszego użytkownika |
» 2011-06-30 23:33:37 Okej, to prosze cię, napisz mi(jeżeli umiesz, chyba ze nie) jak w optymalny sposób odczytywac/zapisywac pliki korzystając z cstdio? |
|
michalp |
» 2011-06-30 23:42:52 << deleted >> |
|
seruenix Temat założony przez niniejszego użytkownika |
» 2011-07-01 09:53:09 Pomoże ktoś, proszę. |
|
pekfos |
» 2011-07-01 10:40:05 no to może podaj swój kod. z jasnowidzeniem u niektórych jeszcze kiepsko.. |
|
seruenix Temat założony przez niniejszego użytkownika |
» 2011-07-01 11:55:05 #include <iostream>
#include <cstdio>
#include <ctime>
using namespace std;
void przepisz(char * sciezka1, char * sciezka2)
{
int tim = clock();
FILE*f1 = fopen(sciezka1,"rb");
FILE*f2 = fopen(sciezka2,"wb");
fseek(f1, 0, SEEK_END);
int size = ftell(f1);
rewind(f1);
for(int i=0; i<size; i++)
{
fputc(fgetc(f1),f2);
}
}
int main()
{
przepisz("sss","aaa");
}
Plik sss ma 500 MB windows kopjuje go 20 s a mój program 137 s, dało by radę innymi metodami zejść poniżej 30/40s?
Prosze o pomoc, i zgóry dzięx.!!
|
|
seruenix Temat założony przez niniejszego użytkownika |
» 2011-07-01 13:08:21 To jak zna, ktos szybsze rozwiązanie? |
|
« 1 » 2 3 |