yotyot
Goto Top

CPU-Leistung für Excel erhöhen

Moin!

Befrage ich alle Suchmaschinen meines Ver- und Misstrauens, erhalte ich auf meine Fragen die Antwort: "So begrenzen Sie die CPU-Last für Programm XY."

Ich suche eine Lösung für den umgekehrten Fall:

Ich habe eine Excel-Tabelle, die über ein Makro eine etwas größere Berechnung durchführt. Ich verwende Excel 2010 auf einem Windows 2008 R2 Terminalserver auf VMware. Ja, ist alt, die neuen Maschinen stehen in den Startlöchern, kommen aber erst 2020.

Nun lastet Excel mit seiner Berechnung die CPU (4 Kerne) nur zu 25% aus. Keiner der Kerne ist auch nur ansatzweise am Limit. Ich will, dass Excel sich alles an Leistung nimmt, was da ist, aber nur, wenn die Leistung auch frei ist. Bedeutet: hohe Priorität und Echtzeit fallen aus, weil alles andere damit blockiert wird. Die Berechnung (eigentlich eher ein Abgleich) braucht im Moment hochgerechnet (noch nicht ausprobiert) mindestens 30 Stunden.

Sind Excel 2010 und Windows 2008 R2 in der Lage, das deutlich zu beschleunigen? Kann mir jemand sagen, wie? Und sagst Du mir es dann bitte auch face-wink ?

Grüße aus der großen Pause

Jörg

Content-ID: 519539

Url: https://administrator.de/contentid/519539

Ausgedruckt am: 24.11.2024 um 16:11 Uhr

godlie
Lösung godlie 27.11.2019 um 16:45:30 Uhr
Goto Top
Hallo,

bei einem 2010 Excel (wahrscheinlich auch noch 32bitig), brauchst du dir nicht viel erwarten.

Du hast nur die Möglichkeit die Priorität hochzusetzen, oder das ganze mal mit einem aktuellen Excel zu testen.

Aber eig. stellt sich die Frage ob Excel für sowas das richtige Mittel der Wahl ist.
YotYot
YotYot 27.11.2019 um 16:55:57 Uhr
Goto Top
Ich habe das befürchtet. Und stimmt: 32 bit, da war noch was...

Das richtige Mittel: es geht hier "nur" um eine einzige Auswertung, die genau einmal gebraucht wird und auch 30 Stunden warten geht jetzt schneller, als mal eben ein paar Alternativen zu testen. In Excel weiß ich, was ich tue und kann das Ergebnis ansprechend aufhübschen, damit die GL sich freut face-wink
Henere
Lösung Henere 27.11.2019 um 17:02:58 Uhr
Goto Top
Servus,
soweit ich weis ist Excel nicht Multithreaded. Die 25% Last auf den 4 Kernen sind quasi 1 Kern auf Volllast, jedoch wandert der Prozess von Kern zu Kern was es nach 25% aussehen lässt.
Solltest das eher auf ner aktuellen Workstation mit schnellerer CPU und 64bit machen lassen

Henere
godlie
Lösung godlie 27.11.2019 aktualisiert um 17:14:43 Uhr
Goto Top
Soweit ich das noch im Kopf habe, ist ein Makro, auf einen Thread beschränkt
Dilbert-MD
Lösung Dilbert-MD 27.11.2019 um 20:59:15 Uhr
Goto Top
Hallo,

ich würde es mal auf einem aktuellen i7 mit hoher Taktfrequenz versuchen.
Nach möglichkeit alle Hintergrundaktivitäten deaktivieren und nicht benötigte Dienste deaktivieren.

Falls möglich, mal ein 64bit-Office probieren.

Gruß
Bitboy
Lösung Bitboy 28.11.2019 um 10:14:22 Uhr
Goto Top
Hi,

25% bei 4 Kernen bedeutet 1 Kern arbeitet unter Volllast. Mit Änderung von Programmprioritäten erreichst du gar nichts.
Wenns schneller gehen soll, sollte man sich überlegen ob Excel das richtige Werkzeug für die Aufgabe ist.

Grüße
YotYot
YotYot 02.12.2019 um 08:14:40 Uhr
Goto Top
Moin!

Das Problem ist gelöst und Eure Antworten haben immerhin dazu beigetragen, dass es jetzt so ist: ja, das mit dem single-threaded scheint zu stimmen. Zwar steht im Taskmanager kein Kern unter Volllast, alle stehen augenscheinlich gleichmäßig unter Dampf, aber das mit den 25% stimmt. Es wird also irgendwo dazwischenliegen. Auf einem Windows 10 mit Office 2016 in 64 bit bekomme ich eine Auslastung von 50% hin, das halbiert aber die Zeit nicht.

Ich habe gehofft, es gäbe eine solche einfache Möglichkeit. So habe ich eben doch nochmal Hand an meinem VBA-Code angelegt: Suchen verbessern und For-Schleifen optimieren, da ist immer Potenzial. Wie das manchmal so ist: jemand braucht "mal eben schnell" was, man haut quick and dirty in die Tasten und dann kommen die wirklich guten Anforderungen, wo man eben doch erst denken und dann tippen sollte.

Danke Euch trotzdem für die beinahe Infos, die ich schon lange wieder vergessen hatte face-wink

Jörg
godlie
godlie 03.12.2019 um 08:40:52 Uhr
Goto Top
Hallo,

darf man erfragen, welchen Zeitfaktor dadurch gewonnen hast ? face-smile
YotYot
YotYot 03.12.2019 um 08:53:33 Uhr
Goto Top
Ungefähr sechs Stunden. Anfangs lief die Berechnung fast den ganzen Arbeitstag über, jetzt braucht es noch 1 Stunde 35. Durch die Zeit, die ich da hineingesteckt habe, dezimiert sich das natürlich, aber so lernt man ja auch wieder dazu face-smile