Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
MarkNEW Gast
|
Verfasst am: 02.10.2021, 12:46 Titel: Suche ein 32bit to 64 bit Subsystem - Wow64shit |
|
|
Hallo Forum,
Ich habe doch einigen Code in Fortran 77 und damit 32bit DLLs erstellt, die ich eigentlich fortführen möchte.
Nun stelle ich fest, dass die unter Win10 vielleicht noch mit 10% der möglichen Speed laufen ... trotz WoW64, was wie immer irgendein halbgares Microsoftgewächs ist.
Gibt es da etwas Besseres ?
FreeBasic scheint relativ gut unter 64 bit zu laufen
Ich konnte das nicht umfangreich testen, weil ich mich mit den Synthax nicht gut auskenne - aber irgendwer hat ja auch das 32bit Freebasic in ein 64bit Freebasic umgebaut.
Ich könnte mir vorstellen, dass mein alter 32bit Fortran Compiler an dem ich irgendwie hänge sich auch dazu bewegen lässt etwas mehr Speed unter 64bit zu erzeugen.
Leider komme ich aber nicht an den Assemblercode von dem Compiler.
Gibt es vielleicht generell etwas Besseres wie WoW64 ? ... also so etwas wie ein 32to64 Subcompiler, der 32bit Befehle optimal auf multicore 64bit Systeme verteilt ?
Zuletzt bearbeitet von MarkNEW am 02.10.2021, 16:52, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 02.10.2021, 14:14 Titel: Ich hänge gleich noch ein Gesuch dran ... |
|
|
sollte es das nicht geben, dann wäre ich an einem Austausch interessiert, wie sich das schleunigst umsetzen ließe.
1. WoW64 ist imho nicht zu trauen.
2. Es wird damit immer Probleme geben
3. Es muss nicht gleich alles perfekt sein
Es würde wahrscheinlich zunächst reichen, wenn man 32bit Anwendungen einfach mit Hilfe einer zusätzlichen DLL beschleunigen könnte.
Klar .. optimal wäre es, wenn es multicore erkennt und 32bit code wirklich optimal auf die vorhandenen Ressourcen verteilt.
Vielleicht könnte man so etwas mit dem 64bit BASIC und ein bischen INLINE Assembler entwicken.
Wie man den 32bitSTREAM, der an WoW64 gesendet wird abfängt, weiß ich nicht.
Aber Hexenwerk kann das ja nicht sein .. vielleicht laufen in diesem Thread ein paar Ideen zusammen ?
... oder .. vielleicht gibt es das was ich suche schon - und ich habe es nicht richtig analysiert ? |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1175 Wohnort: Ruhrpott
|
Verfasst am: 02.10.2021, 16:18 Titel: |
|
|
Hallo MarkNEW und willkommen im Forum.
Um es vorwegzuschicken: Ich arbeite (immer noch) mit WinXP auf einem 32bit - System, und solange ich damit alle anfallenden Aufgaben bewältigen kann, werde ich daran auch nichts ändern. Aber ich verfolge natürlich die 32/64bit/Win10 - Problematik, hauptsächlich im internationalen Forum, vielleicht solltest du dort auch einmal nachfragen.
Die sauberste Lösung wäre sicherlich, die Fortran - Programme nach FreeBASIC zu portieren und dann mit 64 bit zu compilieren.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 02.10.2021, 16:47 Titel: ja |
|
|
darüber denke ich auch nach.
Ich habe ohnehin zunehmend Probleme mit den Leutchen in Foren - vielleicht bin ich einfach zu alt ? ;o)
Mir persönlich würde reichen: 32bit Frontend und 64bit DLLs
Was sagt Dein Bauchgefühl dazu ? .. auf was ich wirklich ungern verzichten würde ist COM (Component Object Model) .. und das ist auch 32bit .
Aber SPEED brauche ich dort letztendlich nicht
.. sondern nur in den Algos.
Es gibt eine Freebasic Version für 32 bit und eine für 64 bit ... richtig ?
Ist das exakt der gleiche Code ? ... oder gibt es da schon vom Code Unterschiede ?
So ganz will ich die Idee nicht verwerfen einfach WoW64 zu ersetzen durch einen 32bit/64bit Subcompiler.
So wie ich die Lage weitblickend einschätze wird WoW64 auch an anderen Stellen zum Flaschenhals werden.
Ich habe mich an so etwas noch nie heran gewagt ... aber ich meine, dass es vielleicht kein Hexenwerk ist.
Was Du brauchst ist also so etwas wie eine CPUerkennung und dann optimiertes Multithreading von 32bit ASM auf 64bit ASM
so in etwa stelle ich mir das vor - ich kann mich aber auch irren und es ist komplex
grüße zurück .. andere Meinungen ? |
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 02.10.2021, 17:02 Titel: |
|
|
Wahrscheinlich wird es darauf hinaus laufen, dass ich damit lebe, dass COM (=Component Object Model) mit wow64 interpretiert wird und ich rechenintensive Operationen in 64bit DLLs auslagere
...aber vielleicht kommen ja noch andere Ideen
Ich habe bspweise auch erheblich Arbeit in ein selbst gestricktes COM Framework rein gesteckt auf das ich ungern verzichten würde. |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1175 Wohnort: Ruhrpott
|
Verfasst am: 02.10.2021, 19:35 Titel: |
|
|
MarkNEW hat Folgendes geschrieben: | vielleicht bin ich einfach zu alt ? | Unwahrscheinlich. Die weitaus meisten FreeBASICer sind Generation 50+
Zitat: | Es gibt eine Freebasic Version für 32 bit und eine für 64 bit ... richtig ? | Richtig. Und die sollten auch in unterschiedlichen Verzeichnissen untergebracht werden.
Zitat: | Ist das exakt der gleiche Code ? ... oder gibt es da schon vom Code Unterschiede ? | Der Quellcode ist im Prinzip der gleiche, nur bei den Datentypen gibt es einige Unterschiede. So ist INTEGER in der 32bit-Version 32 bit lang, in der 64bit-Version 64 bit. Daher ist es eventuell erforderlich, INTEGER durch LONG zu ersetzen (32 bit in beiden Versionen). Und natürlich sind auch Pointer unterschiedlich lang. Außerdem scheint es in der 64bit-Version noch einige Probleme mit dem Inlineassembler zu geben.
Zitat: | Ich habe bspweise auch erheblich Arbeit in ein selbst gestricktes COM Framework rein gesteckt auf das ich ungern verzichten würde. | Ich habe so ganz auf die Schnelle einen Link dazu gefunden, vielleicht hilft dir das weiter. Die richtigen Experten für solche Fragen findest du im internationalen Forum. Und keine Angst, ich habe noch nie gesehen, daß sich dort jemand über schlechtes Englisch beschwert hätte.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 02.10.2021, 22:02 Titel: |
|
|
hmmh .. danke Dir .. liest sich nach probs
32bit COM & 64bit DLLs ist wahrscheinlich der Weg um von 64bit ein bischen Nutzen zu haben ohne mal wieder bei Null anfangen zu müssen |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5956 Wohnort: Deutschland
|
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 03.10.2021, 13:56 Titel: ich denke immer,wir sollten das auch mal ohne internationale |
|
|
Unterstützung lösen
Editiert durch Moderator: Offtopic und Werbung für Appartment-Vermietung entfernt.
Sind hier Musiker ?
my English is quite perfect |
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 03.10.2021, 14:50 Titel: ... hmmmmmhh..... |
|
|
Zitat: | Vielleicht kann man für "g77" auch "-m64" angeben wie beim "gcc"? |
Hmmh ....
Kannst Du das auch bei "FreeBasic32" machen ?
Kann man "FreeBasic32bit"-Code mit GCC64 compilieren ???
======================================
Weiß das zufällig Jemand ?
Eigentlich brauche ich die "langen Datentypen" nicht, sondern einfach mehr Speed unter 64bit |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4559 Wohnort: ~/
|
|
Nach oben |
|
 |
MarkNEW Gast
|
Verfasst am: 03.10.2021, 20:56 Titel: |
|
|
Zitat: | Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1 |
Ich bin dabei genau das zu tun <3
Danke für den HINWEIS
Zuletzt bearbeitet von MarkNEW am 05.10.2021, 16:07, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4559 Wohnort: ~/
|
Verfasst am: 03.10.2021, 22:11 Titel: |
|
|
MarkNEW hat Folgendes geschrieben: | Zitat: | Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1 |
Ich bin dabei genau das zu tun <3 |
Das Zitat stammt (nur leicht angepasst) aus Dr. Who, The Magician's Apprentice.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|