09-23-2020, 02:57 PM 
		
	
	
		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?
	
	
	
	
	
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++;
    }
