Toon posts:

[windows] ingangen probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een programma wat 5 miljoen text bestanden moet uitlezen (geschreven in pascal). De files worden correct geopend en gesloten. Toch lopen de aantal ingangen in de taskmanger gestaag op naar hogere waarden totdat op een gegeven moment de boel crashed (na zo'n 3 miljoen bestanden). Op windows NT is dat geloof ik bij zo'n 64000 ingangen. Is er uberhaupt een mogelijkheid om het aantal ingangen te resetten, zonder het programma af te hoeven sluiten?
Of heb ik daar tijdens het programmeren gewoon rekening mee te houden... als dat zo wat stellen die ingangen dan voor. Hoeveel files kunnen er met een ingang geopend worden, want het is niet 1 op 1.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Ik neem aan dat je WinNT4 gebruikt, heb je ook de mogelijkheid om te kijken of het probleem zich ook voordoet onder bijv. Win2000 of WinXP ?

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

Topicstarter
zowel onder NT4 en winXP hetzelfde probleem.
Waarschijnlijk moet ik het programma op gaan splitsen, maar om 8000 keer 5 miljoen bestanden te gaan doorwerken wordt je ook niet echt blij kwa tijd...

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Ik dacht altijd dat 1 handle (= ingang) gelijk stond aan 1 bestand, maar dat is dus volgens jou niet zo?

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • baggah
  • Registratie: December 2000
  • Laatst online: 09-09 18:32
Waarom moet je vanuit een pascal programma zoveel tekst bestanden in lezen? Dat schiet niet echt op, omdat in een dos(fat) directory (pascal==dos) nooit zoveel bestanden zouden kunnen staan.
Herschrijf het programma in delphi (ook pascal) zodat het een win32 dos app wordt.
Of splits je programma op dat het per directory ofzo een nieuwe instantie van zich zelf opstart (Recursief achtig).

  • baggah
  • Registratie: December 2000
  • Laatst online: 09-09 18:32
Ik weet trouwens niet meer hoe het onder dos/windows is met pascal maar onder iso pascal onder unix sluit hij de filehandles pas af na afsluiten van je applicatie

Verwijderd

Topicstarter
ik maak gebruik de win32 versie van freepascal. Delphi heb ik hier niet.

Opsplitsen per dir kan wel maar dan moet ik het programma vaak runnen en dan heb ik veel I/O . Het liefst lees ik die 5 milj. bestanden 1 keer uit, trap ze in een array, en schrijft ze vervolgens weg zoals ik wil.
Maar als ik niks met die ingangen kan doen zal ik het wel op moeten splitsen.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Heb je ook de mogelijkheid om het programma (of een deel ervan) om te zetten naar een andere dev omgeving, bijv. Delphi? Checken wat er dan gebeurt met je handles.

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!

Pagina: 1