Deling af data til processer
HejJeg har en text fil på f.eks. 80MB med data. Den skal jeg gennemgå f.eks. 10000 gange for at analysere de data. For at bruge alle CPUer/processorer på computeren spreder jeg disse gennemgange ud på processer som forslået i dette spørgsmål
http://www.eksperten.dk/spm/982009
Det virker fint. Men hver gang programmet skal gennemgå datafilen med
Scanner scanner = new Scanner(new File("data-fil.txt"));
det tager lige nu 7-8 milisekunder hver gang.
og derefter går jeg igennem filen linie for linie med:
Timestamp Y
while(scanner.hasNext()){
Timestamp X
når jeg indlæser FØRSTE linie, går der 0-2 milisekunder fra Y til X.
Spørgsmålet er om man kan indlæse en datafil i hver enkelt gennemgang mere effektivt end dette.
Jeg kører det i IntelliJ IDEA. Jeg ved ikke om den kan finde ud af at chache, så når først den har indlæst filen én i hukommelsen, så behøver den ikke læse den fra disken igen?!
Men ellers om det ville være en ide at læse filen én gang til en String eller andet, og gøre den tilgængelig for den andre processor som skal bruge den.
Hvis I mener det kan gøres mere effektivt, så vil jeg meget meget gerne se eksempler eller referencer til eksempler.
På forhånd mange tak :)