[ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16 | 16
NapísalOffline : 06.06.2009 15:38 | pomalé načítavanie zo súboru

Zdravím, ide asi o toto: Mám rozsiahle - stovky MB - .asc súbory, kde sú len čísla, jedno číslo na riadok a hneď nový riadok.... je to surový výstup z AD prevodníka. No a chcem to načítať ako pole čísel do RAM. Som začiatočník, tak som použil niečo takéto: ( je tam pol milióna čísel-na skúšku)

#include <stdio.h>
#include <stdlib.h>
#define n 500000
static float Y1[n];
int main()
{
int i;
FILE *F1;
F1= fopen("C:\001.asc","r");
for(i=0;i<n;i++)
{
fscanf(F1,"%f\n",&Y1[i]);
}
fclose(F1);
return 0;
}

No pri 4MB súbore to načítava až 3sekundy. HDD je sata a DDR2. Ako by som to mohol urýchliť? Vďaka za pomoc


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 06.06.2009 16:52 | pomalé načítavanie zo súboru

Myslim, ze sa to uz nebude dat, pri takom pocte cisel... :roll:


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16 | 16
Napísal autor témyOffline : 06.06.2009 17:44 | pomalé načítavanie zo súboru

Ide o to, že ten 4MB súbor kopíruje do RAM 3 sek. A to je strašne dlho či nie?


Offline

Skúsený užívateľ
Skúsený užívateľ
pomalé načítavanie zo súboru

Registrovaný: 11.01.09
Prihlásený: 26.12.24
Príspevky: 1395
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 06.06.2009 18:02 | pomalé načítavanie zo súboru

Možno by nepatrne pomohlo mapovanie súboru (nie som si istý, opravte ma, ak sa mýlim) - http://msdn.microsoft.com/en-us/library/aa366556(VS.85).aspx
No v každom prípade, pri niekoľko 100 MB súbore ti to nenačíta za 10 sekúnd ;)


Offline

Užívateľ
Užívateľ
pomalé načítavanie zo súboru

Registrovaný: 28.04.07
Prihlásený: 03.11.09
Príspevky: 133
Témy: 1 | 1
NapísalOffline : 07.06.2009 7:24 | pomalé načítavanie zo súboru

On sa nielen kopíruje, ale každý znak sa musí aj skontrolovať, či zodpovedá formátu zadanému v scanf().
Najviac by si to zrýchlil tak, keby si z prevodníka vedel nejako získať dáta v binárnom formáte a nie textovom. Potom by ti na načítanie stačil iba jediný fread(), a rýchlosť by bola limitovaná iba rýchlosťou hdd - bežne niekoľko desiatok Mb/s. Bonus - v binárnom formáte by tie súbory zaberali menej miesta.
Mohol by si ich zmeniť na binárny formát aj dodatočne, ale oplatí sa ti to len ak plánuješ pracovať s jedným súborom viackrát.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16 | 16
Napísal autor témyOffline : 07.06.2009 13:02 | pomalé načítavanie zo súboru

imcold: Máš pravdu, niečo takéto som mal na mysli, no nevedel som to pomenovať. Po každom čísle je newline, ak by som ten odstránil, jednoduchým programom, potom by to bolo síce nečitateľné, ale nestačilo by zmeniť koncovku súboru na .bin a potom by som to z RAM už načítaval po 4bytových úsekoch-keďže ide o floaty? Neviem,lebo som z bin. nerobil, len s textovými. Ja totižto z toho HDD ten súbor potrebujem natiahnuť do RAM len raz a potom sa nad ním vykonáva veľa operácií. Chcel by som, aby to išlo ako pri kopírovaní vo wine, kde to je aj 30 MB/s.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16 | 16
Napísal autor témyOffline : 07.06.2009 15:06 | pomalé načítavanie zo súboru

už to behá, odstránil som \n, skonvertoval som ten .asc na .bin a načítal cez fread po 4 bytoch a dostal som sa na cca 30MB/s pri čítaní z HDD do RAM. diky za pomoc


Offline

Užívateľ
Užívateľ
pomalé načítavanie zo súboru

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 07.06.2009 17:04 | pomalé načítavanie zo súboru

das sem ten novy zdrojak rad by som sa pozrel


_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16 | 16
Napísal autor témyOffline : 07.06.2009 21:30 | pomalé načítavanie zo súboru

Takže tu je to len tak narýchlo:
mám už binárny súbor na danej ceste, zatiaľ najväčší súbor čo som mal obsahoval 15e6 čísel tak preto je ich tam práve toľko. Aby som to mohol kvázi odmerať,tak som tam vložil ten getchar().


#include <stdio.h>
#include <stdlib.h>
#define n 15000000
static float Y[n];
int main()
{
char z;
FILE *F;
F= fopen("C:/data.bin","rb");
printf("filling data to RAM will start\n");
z=getchar();
fread(Y,sizeof(float),n,F);
printf("data transfer completed\n");
z=getchar();
return 0;
}


 [ Príspevkov: 9 ] 


pomalé načítavanie zo súboru



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

pomale načitavanie pri spusteni

v Operačné systémy Microsoft

2

393

14.04.2008 12:58

trojsky.kon

V tomto fóre nie sú ďalšie neprečítané témy.

Fibernet pomale nacitavanie stranok

v Poskytovatelia internetu

10

1163

21.11.2007 18:40

OmeGa

V tomto fóre nie sú ďalšie neprečítané témy.

Win XP pomale nacitavanie

v Operačné systémy Microsoft

16

1768

25.08.2008 21:27

desann

V tomto fóre nie sú ďalšie neprečítané témy.

Pomale načitavanie no neviem prečo.

v Ostatné

0

618

23.09.2008 17:45

mimo1188

V tomto fóre nie sú ďalšie neprečítané témy.

Rychle pripojenie, pomale nacitavanie stranok

v Siete

21

3281

06.04.2016 21:09

Skyro

V tomto fóre nie sú ďalšie neprečítané témy.

ORANGE DSL - pomale nacitavanie stranok ?

v Siete

16

1228

16.10.2013 12:30

_Mailo_

V tomto fóre nie sú ďalšie neprečítané témy.

Problemy so zvukom, pomale nacitavanie videí, atd.

v Operačné systémy Microsoft

0

409

18.08.2020 8:31

steelersfan

V tomto fóre nie sú ďalšie neprečítané témy.

Pomale nacitavanie obrazkov v Exploreri 8 - prazdne okna.

v Sieťové a internetové programy

1

534

22.09.2010 23:40

Milanese

V tomto fóre nie sú ďalšie neprečítané témy.

c++ načítavanie z textového súboru atď..

v Assembler, C, C++, Pascal, Java

0

652

30.12.2011 17:03

head0r

V tomto fóre nie sú ďalšie neprečítané témy.

programovanie v C (nacitavanie matic zo suboru)

v Assembler, C, C++, Pascal, Java

8

378

03.11.2013 18:06

Rioner

V tomto fóre nie sú ďalšie neprečítané témy.

Pomale zapinanie PC (pomale detekovanie BIOS-u)

v Ostatné

4

848

15.12.2016 17:23

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

Pomalé bootovanie winu + pomale vypinanie zostavy

v Operačné systémy Microsoft

3

625

29.09.2010 11:41

Googler1

V tomto fóre nie sú ďalšie neprečítané témy.

Nacitavanie

v JavaScript, VBScript, Ajax

7

600

03.11.2012 18:58

Ravokman

V tomto fóre nie sú ďalšie neprečítané témy.

Načítavanie premenných

v PHP, ASP

7

636

17.09.2007 15:59

pitrik1

V tomto fóre nie sú ďalšie neprečítané témy.

nacitavanie obrazku

v JavaScript, VBScript, Ajax

3

444

28.11.2009 23:19

pogo

V tomto fóre nie sú ďalšie neprečítané témy.

Načítavanie stránok

v Siete

5

518

22.04.2011 18:56

walther



© 2005 - 2024 PCforum, edited by JanoF