Hallo mensen,
Voor school zijn wij bezig met het maken van een routeplanner. Daarbij hebben we een parser voor de .GDF file. (Graphical Data File) Gezien de grote van het bestand (> 200Mb) duurt het nu een halve minuut om deze helemaal uit te lezen en de data aan onze dataklassen door te geven.
Op het moment gaat het uitlezen als volgt:
* We gebruiken een streamreader, deze leest alles lijn bij lijn.
* Wanneer hij een lijn heeft kijkt hij naar de eerste 2 integers die op deze lijn staan
* Vervolgens pakt hij de methode die nodig is om deze lijn uit te lezen (hierbij maken we gebruik van de "Case" manier.
* Vervolgens zetten we de hele lijn in een array, doordat de lijnen ook naar een volgende lijn door kunnen gaan.
* Deze lijn zal worden meegegeven aan de eerder genoemde methode om de gegevens te bewerken
* Om de juiste elementen uit de lijst te halen gebruiken we dit:
att_type = list[0].Substring(0, 2);
att_val = list[0].Substring(2, 10);
lan_code = list[0].Substring(12, 3);
Vooral het laatste kan volgens mij veel sneller. Hebben jullie enig idee hoe we dit nog sneller kunnen maken? Het kan heel eenvoudig zijn, maar wij zien hem even niet. Graag wil ik het nog wel zelf doen, dus tips en speudo code is voldoende. Geen hele uitwerkingen dus!
Alvast bedankt voor de tips!
Groetjes,
Pascal
Voor school zijn wij bezig met het maken van een routeplanner. Daarbij hebben we een parser voor de .GDF file. (Graphical Data File) Gezien de grote van het bestand (> 200Mb) duurt het nu een halve minuut om deze helemaal uit te lezen en de data aan onze dataklassen door te geven.
Op het moment gaat het uitlezen als volgt:
* We gebruiken een streamreader, deze leest alles lijn bij lijn.
* Wanneer hij een lijn heeft kijkt hij naar de eerste 2 integers die op deze lijn staan
* Vervolgens pakt hij de methode die nodig is om deze lijn uit te lezen (hierbij maken we gebruik van de "Case" manier.
* Vervolgens zetten we de hele lijn in een array, doordat de lijnen ook naar een volgende lijn door kunnen gaan.
* Deze lijn zal worden meegegeven aan de eerder genoemde methode om de gegevens te bewerken
* Om de juiste elementen uit de lijst te halen gebruiken we dit:
att_type = list[0].Substring(0, 2);
att_val = list[0].Substring(2, 10);
lan_code = list[0].Substring(12, 3);
Vooral het laatste kan volgens mij veel sneller. Hebben jullie enig idee hoe we dit nog sneller kunnen maken? Het kan heel eenvoudig zijn, maar wij zien hem even niet. Graag wil ik het nog wel zelf doen, dus tips en speudo code is voldoende. Geen hele uitwerkingen dus!

Alvast bedankt voor de tips!
Groetjes,
Pascal