Turbo gesucht

Moderator: ModerationP

Turbo gesucht

Beitragvon Gast111 » 25. Sep 2021, 20:11

Hallo Forum,

ich versuche ein statistisches Problem mit der sogenannten Wegwerf-Methode zu lösen. Mein Rechner hat in 24 Stunden rund 20 Mio. Shenarien durchgerechnet, aber das reicht nicht. Im Moment lasse ich drei Rechner mit Access-VBA laufen. Ich schätze, dass die Rechner einen Monat laufen müssen, bis ich genug verwertbare Daten erzeugt haben werde.

Meine Frage: Wenn ich das Office356 verwenden würde, ist es dann so, dass derartige Berechnungen auf Großrechnern von MS laufen (die dann entsprechend schneller sind)? Hat jemand Erfahrungen damit? Gibt es sonst irgendwelche Tipps (für schmale Kassen)?

Bin gespannt!
r.obert
Gast111
 

Re: Turbo gesucht

Beitragvon Bitsqueezer » 25. Sep 2021, 20:21

Hallo,

Du bekommst das, was Du bezahlst bei MS. Office 365 ohnehin nicht, aber wenn Du Rechenpower suchst, kannst Du bei MS Azure-VMs kaufen, entsprechend teuer je nach Rechenleistung.

Wenn Du aber Rechenpower brauchst - warum dann VBA?? Das ist jetzt nicht gerade die schnellste Programmiersprache... alleine ein C++ wäre da schon ein großer Fortschritt, Assembler noch viel schneller. Und dann gibt es ja mittlerweile auch die Möglichkeit, die Rechenpower von Grafikkarten einzusetzen, die weit mehr können als die CPU Deines Computers. Wenn Du DAS ausgeschöpft hast, kannst Du über externe nachdenken...

Keine Ahnung, was Du da bastelst, aber meist kann man Performance bereits durch Anwendung von besseren Methoden erreichen, ganz ohne die o.g. Maßnahmen. Da wir in einem Access-Forum sind: SQL hat z.B. bei Datenverarbeitung bedeutend höhere Performance als VBA. Oder ein Index auf einer Tabelle bedeutet meist einen riesigen Performance-Boost. Also erst mal über die Methode nachdenken, dann sinnvoll programmieren und am Ende über ein Ergebnis freuen. 20 Mio. Datensätze etwa sind für SQL keine besonders große Herausforderung. Wenn man dann noch einen DB-Server einsetzt, schon gar nicht...

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8468
Registriert: 21. Jun 2007, 12:17

Re: Turbo gesucht

Beitragvon mmarkus » 26. Sep 2021, 10:27

Gast111 hat geschrieben:Im Moment lasse ich drei Rechner mit Access-VBA laufen.


Es weiß ja niemand, die dein Code aussieht.
Da VBA nur einen Rechner Kern nutzen kann, könnte man abhängig von der CPU die Anwendung auch mehrfach laufen lassen. :D
Aber wie Christian schon schreibt ist VBA konzeptbedingt langsamer, wie so manche andere Sprache.
Allerdings kann man auch in C++/Assembler unterschiedlich schnellen Code schreiben.
Persönlich bevorzuge ich Assembler. Dabei macht man im Prinzip nichts anderes, als dass man selbst Compiler spielt.
Massenverarbeitung auf höchstem Niveau, spezialisiert auf einen speziellen Fall. Da kann kein fertiges Programm und auch keine Programmiersprache mithalten.

Falls dein Code also kein Geheimnis ist, kannst du das ja mal posten und man kann einen Blick drüber werfen.
Oft kann man innerhalb von VBA die Laufzeit - abhängig vom Code - auch schon um 50 - 80% reduzieren.

Ansonsten gibt es Optionen ohne Ende, aber ohne Hintergründe zu kennen ist es Zeitverschwendung darauf einzugehen.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2142
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Turbo gesucht

Beitragvon gast111 » 26. Sep 2021, 18:10

Hallo Christian,

danke, wieder einmal, für Deine breit gefächerten Tipps. An der Rechenmethode ist nichts zu rütteln. Gewiss lässt sich aber mit einem Sprachwechsel noch viel rausholen, und ich überlege mir das auch nochmal. Indexierung ist schon geschehen, bringt aber nicht viel, weil nur die absolut wichtigen Ergebnisse in Tabellen geschrieben werden und der Rest in Arrays läuft.

Über Azur und Amazonservices habe ich mir jetzt mal ein paar Infos durchgelesen, aber da wimmelt es ja nur so von Böhmischen Dörfern. Der Aufwand ist für mich vermutlich eine Nummer zu hoch.

Alles in allem denke ich, dass ich klar komme. Assembler mache ich sicher nicht mehr. Höchstens noch C. Wir werden sehen.

Gruß,
r.obert
gast111
 

Re: Turbo gesucht

Beitragvon Bitsqueezer » 26. Sep 2021, 20:45

Hallo,

@Markus:
Persönlich bevorzuge ich Assembler. Dabei macht man im Prinzip nichts anderes, als dass man selbst Compiler spielt.

Ich wage mal stark anzuzweifeln, daß Du Programme als Hexcode in eine Datei schreibst...;)
Das wäre dann Maschinensprache und das wäre in der Tat das Kompilat.

Solange Du Assembler schreibst, braucht es immer noch einen Compiler, der den Assemblercode in Maschinensprache übersetzt.

@Robert:
Und warum dann Arrays? Das sind auch nur Tabellen und Tabellen kann man bekanntlich in SQL schneller verarbeiten.
Nebenbei kann man auch mit vorberechneten Tabellen eine Menge Performance sparen, indem man eben keine Berechnung verwendet, sondern das Ergebnis aus einer Tabelle liest, die das bereits langwierig vorberechnet hat, in gewünschter Genauigkeit. Das hat man schon zu C64-Zeiten gemacht, um aus dem kleinen Brotkasten die tollsten 3D-Grafiken hervorzuzaubern, für die der Prozessor viel zu langsam gewesen wäre, diese live zu berechnen.
Auch hier punktet dann wieder die Datenbank, die große Mengen Vorberechnungen vorhalten kann.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8468
Registriert: 21. Jun 2007, 12:17

Re: Turbo gesucht

Beitragvon mmarkus » 27. Sep 2021, 06:17

Bitsqueezer hat geschrieben:Ich wage mal stark anzuzweifeln, daß Du Programme als Hexcode in eine Datei schreibst...;)


Das mache ich nur dann, wenn der Compiler den Assembler nicht versteht.
Assembler ist ja einfach nur Maschinencode in Textform.
Da reicht eine simple Tabelle um nachzusehen, wie der Maschinenbefehl binär aussieht.
Der Mensch tut sich mit Text bekanntlich ja leichter. Wobei man nach kürzester Zeit, genauso leicht Hex Code schreiben kann.

Das ist ja nicht der Punkt um den es geht.
Bei Assembler hat der Compiler keinen Spielraum mehr irgend etwas zu entscheiden.
Man hat also selbst die Kontrolle was auf dem Prozessor passiert - ganz im Gegensatz zu dem, was der Compiler ansonsten für Maschinencode erzeugt.
Bei simplen Funktionen hast du ja über 80% Overhead. Das fällt dann weg. Übrig bleiben dann die 20%. :D .
Bei einer 64Bit Anwendung ist dann bei steigender Komplexität im Verhältnis noch viel mehr Performancegewinn möglich, wie bei einer 32 Bit Anwendung.
[/quote]

Bitsqueezer hat geschrieben:Und warum dann Arrays? Das sind auch nur Tabellen und Tabellen kann man bekanntlich in SQL schneller verarbeiten.


Kann so sein, kann auch das Gegenteil sein.
Hängt vom Kontext und vom Programmierer ab.
Wenn man aber mit den Arrays arbeitet, die vom Recordset stammen - arbeitet man ja mit Variant Arrays.
Variants brauchen bei Berechnungen schon mal Faktor 2 - 3.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2142
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Turbo gesucht

Beitragvon Bitsqueezer » 27. Sep 2021, 09:02

Hallo Markus,

Bei simplen Funktionen hast du ja über 80% Overhead. Das fällt dann weg. Übrig bleiben dann die 20%.


Keine Frage, die Vorteile von Assembler braucht man nicht hervorzuheben, es gibt halt nichts Schnelleres oder Kürzeres.
Ich wollte nur sagen, daß wirklich niemand in Assembler programmiert, ohne den Code im Anschluß zu compilieren, bei Dir liest sich das für den Unbedarften, als würde man direkt auf dem Prozessor in Bytes kodieren, und das macht niemand, auch Du nicht. Ja, kann man alles machen, aber tu nicht so, als wärst Du jemand, der in grünem Hexcode der Matrix eine komplexe Anwendung erkennt und programmiert. Du wärst auch schön blöd, nicht mit der textuellen Entsprechung und Dingen wie Text-Sprungmarken und benannten Konstanten usw. zu arbeiten und stattdessen auf Speicheradressen Bytes abzulegen... Peek und Poke-Programmierer?...nee...glaubt Dir kein Mensch.

Kann so sein, kann auch das Gegenteil sein.
Hängt vom Kontext und vom Programmierer ab.


Ich würde mal behaupten, wenn es um die Verarbeitung von 20 Mio. Daten geht, wird man mit einem Array nicht sehr weit kommen...;)

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8468
Registriert: 21. Jun 2007, 12:17

Re: Turbo gesucht

Beitragvon Gast » 28. Sep 2021, 09:32

@Bitsqueezer,
daher weht der Wind also.

Ich hab mich ja schön öfter gefragt, warum du es nötigt hast, Aussagen anderer bewusst zu verdrehen.
Nouba, Ulrich und viele mehr.
Aber keiner von uns kann was für deine Störungen.


Also lass gut sein.
Gast
 

Re: Turbo gesucht

Beitragvon mmarkus » 28. Sep 2021, 09:33

Gast hat geschrieben:@Bitsqueezer,
daher weht der Wind also.

Ich hab mich ja schön öfter gefragt, warum du es nötigt hast, Aussagen anderer bewusst zu verdrehen.
Nouba, Ulrich und viele mehr.
Aber keiner von uns kann was für deine Störungen.


Also lass gut sein.


War versehentlich nicht angemeldet.

Kommt natürlich von mir.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2142
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Turbo gesucht

Beitragvon Bitsqueezer » 28. Sep 2021, 11:37

Hallo Markus,

keine Ahnung, wo Dein Problem ist, aber vielleicht bist es eher Du, der hier professionelle Geisteshilfe benötigt....?
Und wenn Du schon so verdreht bist, dann laß doch Andere raus, die können für sich selbst reden, da ist gar kein "uns"... :lol:

Wer nicht mit Gegenargumenten umgehen kann, sollte besser nicht an Diskussionen teilnehmen.

Und Tschüss.

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8468
Registriert: 21. Jun 2007, 12:17

Re: Turbo gesucht

Beitragvon mmarkus » 28. Sep 2021, 16:05

Bitsqueezer hat geschrieben:
Wer nicht mit Gegenargumenten umgehen kann, sollte besser nicht an Diskussionen teilnehmen.



Es gibt ja keine Argumente, sondern nur dein abartiges Verhalten Aussagen zu verdrehen.
Und ich bin nicht der erste, der dir das vorhält.
Aber scheinbar hast du das nötig.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2142
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste