Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Zasto glavi fwrite() pri 25 zapisa/fajlova u sekundi?
#1
Pozdrav,

imam neko parce code-a koji radi prostu stvar, hvata neke pakete podataka koju su veliki oko 5-6kB, ti paketi mi dolaze brzinom od 25 paketa u sekundi i program treba da hvata te podatke i snima u fajlove za neku dalju analizu.

Medjutim, to ne radi dobro, kako pustim to da radi program uhvati/snimi nekih 120-150 paketa/fajlova i nakon toga zaglavi??

Program treba da radi na RPi ali isti problem imam i kada to poteram na PC pod macOS, skoro se sve isto ponasa.
Na PC definitivno nemam problema sa I/O brzinom, to je i7 masina sa Aorus NVMe diskom, brze ot toga nemam ...

Probao sam da snimam i u RAMDISK (tmpfs) i isto se ponasa?

U cemu je ovde problem, ko/sta ovde pravi taj problem?

Code:
    ...     char buf[128000];     ...     // U buf su popunjeni podaci ...     // U len imam duzinu paketa, menja se izmedju 5 i 6 kB ...     ...     //----------------- save samples -------------     if (samlpe_count < 1000 ) {         char fname[80];         sprintf(fname, "sample_%03d.dat", samlpe_count);         printf("Writing %s ... \r\n", fname);         FILE *my_write_fd = fopen(fname, "w+");         fwrite(buf, len, 1, my_write_fd);         fclose(my_write_fd);         samlpe_count++;     }
Reply


Messages In This Thread
Zasto glavi fwrite() pri 25 zapisa/fajlova u sekundi? - by mikikg - 09-23-2020, 02:57 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)