BCB5 Enterprise+XP funktioniert nicht



  • Also das Programm um was es geht http://www.c-plusplus.net/forum/viewtopic.php?t=80296 da haben alle gesagt ich soll,wegen der Effizenz alles Blockweise lesen.

    Nun sagst du es geht nicht so.

    Das ganze rennt ja unter ME nun verzweifel ich.

    Wie sagt man XP das er auch ruhig 25Mb im Speicher zuteilt?
    bzw. das geht ja auch.

    Nur die Schleifen macht er endlos.

    Und bevor jetzt einer sagt Variable nicht richtig initialisiert bzw. falsche Werte, ich habe es mit ein Debugger getestet(unter ME ohne Probleme).

    Nur wie wie wie kann ich das Tool XP kompatibel machen?

    Dann fummelt man Tage lang an einer Suchroutine die Speed hatt,und dann macht XP big trouble in little wondows.



  • the_hero99 schrieb:

    Nun sagst du es geht nicht so.

    Nein habe ich nie. Ich habe gesagt du sollst die Blöcke verkleinern und damit meine ich Blöckgrößen < 1 MB. Damit lässt sich IMHO wesentlich besser arbeiten.



  • @hero_99

    Hast Du die Routine aus meinem Beispiel in dem anderen Thread mal verwendet. Dort war der Lesepuffer sogar nur 1 KB groß und dynamisch erzeugt.

    Und 'ne dumme Frage: Verwendest Du den BCB6 unter Win ME? Ich weiß, dass Windows 98 vom BCB 6 nicht unterstützt wird. Kann mir nicht vorstellen, dass das mit ME anders sein soll...

    Grüße Joe_M.



  • zufaulzumeinloggen schrieb:

    Ich weiß, dass Windows 98 vom BCB 6 nicht unterstützt wird.

    Wie kommst du darauf?
    BCB6 System Requirements: Microsoft® Windows® 98, 2000 (SP2), and XP



  • Ich habe Borland 5 Enterprise.
    Die 6er war selbst bei Ebay zu teuer.

    Also den Buffer erstmal dynamisch erstellen,und dann den Wert wo er Leer läuft,die Schleife,vielleicht mal als Pointer benutzen.

    Mal sehen ob das was bringt.



  • @Jansen: Die Info habe ich seinerzeit von Borland EMEA erhalten. Als ich vor 2 Jahren auf den BCB 6 gewechselt habe, hatte ich ein paar Probleme unter Win 98. Diverse Dinge fehlten, u.a. der ClassExplorer. Borland EMEA hat mir empfohlen auf Win 2000 oder XP zu wechseln. Vielleicht hat sich das aber mit den Patches erledigt...



  • Schick doch mal Code rüber, der Ärger macht. Dann kann man auch konkret helfen.



  • Also ich habe den char array jetzt dynamisch erstellt.
    Der ist jetzt so gross wie die Datei ist,und wird wenn Datei zu gross ist,aufgeteilt.

    Somit ist jetzt das Problem mit der Variable anscheinend erledigt.

    PS. Der Puffer liegt immernoch bei 25MB was unter XP auch keinen Ärger macht.



  • Ich weiß nicht, was ein derart großer Puffer bringen soll...

    Nochmal am Beispiel einer 200 MB Datei:
    Einlesen mit 25 MB Puffergröße: 13-14 Sekunden
    Einlesen mit 1 MB Puffergröße: 11-12 Sekunden
    Einlesen mit 1 KB Puffergröße: 7-8 Sekunden.

    Die Datei befand sich jeweils bereits im Windows-Cache. Bei einem 25 MB Puffer verdoppelt sich die Lesezeit (fast)! Dies liegt an der Verwendung des Puffers innerhalb des Stacks, bei einem KB Größe.

    EDIT: Ich hatte Dir seinerzeit zur Verwendung eines Puffers geraten, weil Du jedes Byte einzeln eingelesen hast - und das ist definitiv die langsamste Methode.



  • Ok ich werde jetzt immer die Puffer klein halten(2kb),nur wo ich es mit nen 100 byte Puffer getestet habe,dauerte es länger wie alles aufeinmal.


Anmelden zum Antworten