Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 06.06.2009 15:38

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
Príspevok NapísalOffline : 06.06.2009 16:52

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
Príspevok Napísal autor témyOffline : 06.06.2009 17:44

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ý: 24.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 06.06.2009 18:02

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
Príspevok NapísalOffline : 07.06.2009 7:24

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
Príspevok Napísal autor témyOffline : 07.06.2009 13:02

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
Príspevok Napísal autor témyOffline : 07.06.2009 15:06

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
Bydlisko: 00100100
Príspevok NapísalOffline : 07.06.2009 17:04

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
Príspevok Napísal autor témyOffline : 07.06.2009 21:30

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;
}


Odpovedať na tému [ Príspevkov: 9 ] 


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

370

14.04.2008 12:58

trojsky.kon Zobrazenie posledných príspevkov

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

v Poskytovatelia internetu

10

1126

21.11.2007 18:40

OmeGa Zobrazenie posledných príspevkov

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

v Operačné systémy Microsoft

16

1718

25.08.2008 21:27

desann Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomale načitavanie no neviem prečo.

v Ostatné

0

572

23.09.2008 17:45

mimo1188 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rychle pripojenie, pomale nacitavanie stranok

v Siete

21

3111

06.04.2016 21:09

Skyro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ORANGE DSL - pomale nacitavanie stranok ?

v Siete

16

1081

16.10.2013 12:30

_Mailo_ Zobrazenie posledných príspevkov

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

322

18.08.2020 8:31

steelersfan Zobrazenie posledných príspevkov

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

495

22.09.2010 23:40

Milanese Zobrazenie posledných príspevkov

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

614

30.12.2011 17:03

head0r Zobrazenie posledných príspevkov

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

345

03.11.2013 18:06

Rioner Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomale zapinanie PC (pomale detekovanie BIOS-u)

v Ostatné

4

730

15.12.2016 17:23

tatko Tom Zobrazenie posledných príspevkov

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

570

29.09.2010 11:41

Googler1 Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

7

543

03.11.2012 18:58

Ravokman Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

8

467

31.05.2010 18:29

DARSON Zobrazenie posledných príspevkov

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

v PHP, ASP

7

595

17.09.2007 15:59

pitrik1 Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

3

415

28.11.2009 23:19

pogo Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra