Deutsch
Forum

Problem mit X2-Programm unter 64-Bit-System

 
- Seite 1 -



E.T.
Das 32-Bit-Programme auf einem 64-Bit-System (geringfügig) langsamer laufen (können), ist ja wohl bekannt. Ich bin aber jetzt auf ein gravierendes Problem gestoßen:

Ich lese simple Textdaten aus einer Datei ein, lege diese (mit zusätzlichen Info's) in einem per Create"Grid"... erzeugtem Stringgrid  ab. Auf einem neuen X64-System (WIN 7) ist jetzt aufgefallen, das diese Operation enorm länger dauert als auf einem X86-System (XP). Stelle ich das gleiche auf Create"List"... um und schreibe genau die gleichen Daten da hinein, ist kaum ein Unterschied erkennbar.
(nebenbei beim testen festgestellt, das das "Grid" unter XP sogar schneller beschrieben wir als als das "List").

Messung unter XP:



Messung unter Win7 - 64 Bit:



Hab also den betreffenden Code aus meinem Programm extrahiert und ein Test-Programm erstellt (im Anhang). Die Daten werden aus einer reinen Text-Datei (eigentlich einer ini-Datei) gelesen (auch im Anhang).

Irgendetwas scheind da unter 64 Bit mit dem "Grid" schief zu laufen. Wer Lust (und Zeit) hat, kann ja meinem Testprogramm mal beim Einlesen zuschauen, hab extra mal 'nen Zähler eingebaut, wo das Progg gerade hält. Dabei kann man feststellen, das beim einlesen in das "Grid" das ganze Programm immer langsamer wird und der Speicherverbrauch (lt. T-Manager) irgendwann enorm ansteigt (unter 7-64).

Liegt das nun am X64-System oder ist da irgendwo in X2 der Wurm drinn ??

Bitte mal um Test's und Rückmeldungen.

xp.jpg  
50 kB
Hochgeladen:28.03.2013
Ladeanzahl163
Herunterladen
2.380 kB
Hochgeladen:28.03.2013
Ladeanzahl87
Herunterladen
w7.jpg  
25 kB
Hochgeladen:29.03.2013
Ladeanzahl116
Herunterladen
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
28.03.2013  
 



 
- Seite 1 -



Georg
Teles


du hattest recht E.T. hier nochmal Test der 32 Bit Version, ist etwas schneller:

vor einer Woche hatte ich noch 2 Systeme, habe Win 7 gelöscht weil das System so ziemlich mit vielen Programmen nicht funktioniert und sowieso "Speicheressend" ist, ich mag Win 7 nicht

72 kB
Hochgeladen:29.03.2013
Ladeanzahl125
Herunterladen
 
XProfan 10
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

29.03.2013  
 




Julian
Schmidt
E.T. (28.03.13)

Dabei kann man feststellen, das beim einlesen in das "Grid" das ganze Programm immer langsamer wird und der Speicherverbrauch (lt. T-Manager) irgendwann enorm ansteigt (unter 7-64).


Kann ich nicht bestätigen. Der Speicherverbrauch bleibt gleich. Langsamer wirds trotzdem. Bin jetzt bei 70000 von 10000 und läuft 40min.


42 kB
Hochgeladen:29.03.2013
Ladeanzahl128
Herunterladen
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
29.03.2013  
 



Dies bei mir unter WinXP32-Bit:


8 kB
Hochgeladen:29.03.2013
Ladeanzahl126
Herunterladen
 
29.03.2013  
 




E.T.
Danke, David.

Jo, die Bestätigung: unter 32 Bit läufts ohne Probleme.

Da muss wohl Roland mal schauen, was ab Win 7 unter 64 Bit schief läuft
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
29.03.2013  
 




GDL
Hallöle,

bei mir unter win7 professional.



Grüßle
Georg

6 kB
Hochgeladen:30.03.2013
Ladeanzahl104
Herunterladen
 
Windows7 Xprofan 8,9,10 [...]  [...] 
30.03.2013  
 




E.T.
Hm, hatte doch mal mit 'ner Antwort von Roland gerechnen
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
17.04.2013  
 




RGH
Ich wüsste nicht, was ich da machen kann, wenn der Unterschied nicht von der (X)Profan-Version abhängt, sondern vom Betriebssystem. Möglicherweise hat Microsoft da beim 32-Bit-Emulator gepatzt.

Wie sieht es denn mit FreeProfan64 aus?

Gruß
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
17.04.2013  
 



 
- Seite 2 -



RGH
Ich habe es mal unter FreeProfan64 auf Win7-64 laufen lassen: Das gleiche Problem GRID ist deutlich langsamer als LIST. Der Code für das GRID (Windowsklasse "SysListView32") ist zwar deutlich aufwändiger als für LIST (Windowsklasse "LISTBOX" - nur eine Message), aber unter 32-Bit wirkt sich das ja auch nicht aus.
Mit LIST lief das Programm eine gute Minute, mit GRID sind gleich 40 Minuten nach 75000 Sätzen erreicht.
Es muss also an der Implementierung der Klasse unter 64-Bit liegen. Da habe ich natürlich keinen Einluß drauf.
Es liegt also nicht an der Umleitung von 32 nach 64 Bit (Aufruf eines 32-Bit-Programmes unter Win64), sondern direkt an der Klasse uter 64 Bit.

Gruß
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
17.04.2013  
 



Man könnte vlt. auch mal schauen ob ein Aushebeln der Fensterklasse bezogen auf
hierfür nicht relevante Nachrichten einen deutlichen Geschwindigkeitszuwachs bringt,
z.B. wenn nur das Zeichnen deutlich langsamer ist.
 
17.04.2013  
 




RGH
Also bei einem GRID oder der LIST wird gar nicht gezeichnet, da das Fenster gleich unsichtbar erzeugt wird. Also da sehe ich kaum Optimierungsmöglichkeiten. Möglicherweise könnte man für das GRID eine andere Fensterklasse verwenden, aber mit fällt im Moment keine allgemein vorhandene Klasse ein, die Tabellendarstelung germöglicht.

Gruß
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
17.04.2013  
 




E.T.
Na dann werd ich wohl oder Übel alles auf syncron laufende "List"s umstricken
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
18.04.2013  
 




Andreas
Miethe


Ich weis ja nicht was Du vorhast, aber das Einlesen in eine Liste kannst Du beschleunigen ( bei mir ca. 5mal schneller ), wenn Du es mit einer Berechsvariable machst.

Willst du nur in der Datei suchen geht es noch schneller.



Beispiel :
KompilierenMarkierenSeparieren
Declare List_Entry$, Liste1&, Liste$, Z%, S_Time!,F_Time!

Proc Schnell

    print "Daten in ListboxListe ''normal'' einlesen"
    Liste1& = Create("List",0)'Schnelle Version
    Assign #1, Liste$
    Reset #1

    WhileNot List_Entry$  = "[Daten]"

        Input #1, List_Entry$

    EndWhile

    List_Entry$ = ""
    S_Time! = !now
    print "Start:",dt("DateTimeStr","hh:nn:zz" ,!now)," (",str$(S_Time!),")"

    WhileNot EOF(#1)

        Input #1, List_Entry$

        IfNot Trim$(List_Entry$) = ""

            inc Z%
            AddString(Liste1&,List_Entry$ + "|" + "bereits vohanden...Datei : ")
            locate 3,0
            'print str$(Z%)

        EndIF

    EndWhile

    Close #1
    F_Time! = !now
    print GetString$(liste1&,0)
    print "FERTIG:",dt("DateTimeStr","hh:nn:zz" ,!now)," (",str$(F_Time!),")"
    Print "DAUER:",dt("getTime",1,(F_Time! - S_Time!))+" Sekunden"

EndProc

Proc ListeAusSpeicher

    Liste1& = Create("Grid",2,0)'Langsame Version
    Clear Z%
    Declare Bereich#,In$,X&
    DECLARE Text$[]
    Var Hiergehtslos& = 0
    Dim Bereich#, FileSize(Liste$)
    BlockRead(Liste$, Bereich#, 0, FileSize(Liste$))
    Hiergehtslos& = MemPos(Bereich#,0,"[Daten]")+9'(Länge von String[Daten]+chr$(10)+chr$(13)
    print "*************************************************"
    Print "Daten aus Bereichsvariable in dynamisches Array"
    S_Time! = !now
    print "Start:",dt("DateTimeStr","hh:nn:zz" ,!now)," (",str$(S_Time!),")"

    repeat

        Inc Z%
        In$ = Char$(Bereich#,Hiergehtslos&+X&,32)
        Text$[Z%] = In$+ "|" + "bereits vohanden...Datei : "
        Add X&,34

    Until X& = SizeOf(Bereich#)- Hiergehtslos&

    Dispose Bereich#
    F_Time! = !now
    Print Text$[1]
    print "FERTIG:",dt("DateTimeStr","hh:nn:zzz" ,!now)," (",str$(F_Time!),")"
    Print "DAUER:",dt("getTime",1,(F_Time! - S_Time!))+" Sekunden"
    print "*************************************************"
    Print
    print "*************************************************"
    Dim Bereich#, FileSize(Liste$)
    BlockRead(Liste$, Bereich#, 0, FileSize(Liste$))
    Print "Direkt in Datei suchen"
    S_Time! = !now
    print "Start:",dt("DateTimeStr","hh:nn:zzz" ,!now)," (",str$(S_Time!),")"

    if MemPos(Bereich#,0,"9a421a62a95955702f589e6f4afac771")

        Print Char$(Bereich#,MemPos(Bereich#,0,"9a421a62a95955702f589e6f4afac771"),32)+"|"+"bereits vohanden...Datei : "

    Endif

    F_Time! = !now
    print "FERTIG:",dt("DateTimeStr","hh:nn:zzz" ,!now)," (",str$(F_Time!),")"
    Print "DAUER:",dt("getTime",1,(F_Time! - S_Time!))+" Sekunden"
    Dispose Bereich#

Endproc

CLS
Liste$ = "pics aktuell.dfl"

IfNot Liste$ = ""

    Print "*************************************************"
    Schnell
    Print "*************************************************"
    Print
    ListeAusSpeicher
    Print "*************************************************"

Else

    Print "Keine Liste geladen"

EndIf

Waitinput
End

10 kB
Hochgeladen:20.04.2013
Ladeanzahl87
Herunterladen
 
XProfan X2
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
20.04.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

16.634 Betrachtungen

Unbenanntvor 0 min.
ByteAttack21.07.2024
Wilfried28.05.2016
Jochen Roxlau14.04.2015
E.T.21.09.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie