Ein AMD Ryzen 7 pro 5750GE schlägt einen Intel I5-12600k um Längen bei einem 32 bit Programm

kupfistanton

Enthusiast
Thread Starter
Mitglied seit
04.07.2012
Beiträge
6
Hallo an das Forum.
ich hoffe Ihr könnt mir da weiter helfen.
Ich teste gerade ein Hotelprogramm HS3 auf verschiedenen Rechnern.
Mein Aufbau ist wie folgt. Die Hauptdatenbank von diesem Hotelprogramm läuft auf einem Intel i9-11900k.
Das Hotelprogramm verwendet eine Firebird Datenbank und läuft als 32 bit Version (es gibt keine 64 Bit Version)

Nun habe ich verschiedene Klientenrechner aufgebaut, welche dann auf den Hauptserver über das Netzwerk zugreifen und dementsprechend ihre Arbeit verrichten sollen.

Und zu meiner Verwirrung ist aber der Klient, welcher mit dem AMD Prozessor arbeitet um fast 40 Prozent schneller, als der Klient, welcher den i5 drinnen hat.
RAM sind in beiden Rechnern mit 32 Gg genug verbaut.

Was mir aufgefallen ist: Bei CPU-Z sehe ich, dass der AMD Prozessor praktisch nie unter 3 Ghz geht, und der Intel teilweise weit drunter ist.

Laut Benchmarks, müsste ja der I5 um Längen besser sein, als der AMD Prozessor.
Auch habe ich schon versucht den I5 mittels einer Nvidia p2200 GPU noch mehr Stoff zu geben. Leider auch hier kein Erfolg.

Ich kann definitiv das Netzwerk ausschließen. Alle Rechner hängen auf dem gleichen Gigabit Switch; alle Rechner haben das gleiche Betriebssystem, und sind top mit RAM ausgestattet.

Wer von Euch kann mir hier den entscheidenden Hinweis geben.

Danke Euch schon mal für Eure Hilfe.
LG Arthur
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Was mir aufgefallen ist: Bei CPU-Z sehe ich, dass der AMD Prozessor praktisch nie unter 3 Ghz geht, und der Intel teilweise weit drunter ist.

Nur eine Vermutung, aber das klingt irgendwie fast so, als würde das Programm auf dem 12600K evtl. ungewollt auf den E-Cores laufen? Der 12600K besitzt ja ein hybrides Design aus P-Cores (hohe Leistung) und E-Cores (niedrige Leistung). Du könntest mal testen über den Taskmanager die CPU-Zugehörigkeit auf die P-Cores zu erzwingen. Dazu öffnest Du den Taskmanager, wählst den Prozess, dann Rechtsklick und "Zu Details wechseln". Im nächsten Fenster wieder Rechtsklick auf den entsprechenden Prozess und "Zugehörigkeit festlegen" wählen. Hier geht dann ein Fenster auf mit den einzelnen Kernen. Der 12600K hat 6 P-Cores (mit HT) und 4 E-Cores, d.h. CPU 0 bis 11 sollten die P-Cores sein. Hier setzt Du die Haken, während Du sie für "CPU 12 bis 15" deaktivierst (das sind die E-Cores).

Das gleiche kann man auch mit Tools wie "Process Lasso" erreichen, die Hardcorevariante wäre die E-Cores im BIOS mal temporär zu deaktivieren. Vielleicht probierst Du es mal und schaust, ob dein Programm die CPU dann besser auslastet / diese höher taktet.
 
Zuletzt bearbeitet:
Laut Benchmarks, müsste ja der I5 um Längen besser sein, als der AMD Prozessor.
Wie ist denn die CPU Auslastung der einzelnen Kerne beim i5? Wie roestzwiebel schon schrieb, könnte es sein das der Task Scheduler die Threads nur auf den e-Kernen oder vielleicht auch nur auf den P-Kernen laufen lässt, statt auf allen Kernen.
Ich kann definitiv das Netzwerk ausschließen. Alle Rechner hängen auf dem gleichen Gigabit Switch
Wenn das ein billiger Consumer Switch ist, dann kann man dies keineswegs ausschließen, denn es gab mal vor Jahren einen Review (leider finde ich ihn nicht mehr) wo genau dies getestet wurde und die Abweichungen beim Durchsatz der einzelnen Ports wenn mehr Datenverkehr als der Uplink schafft, waren teils gewaltig. Die Switches haben die einzelnen Ports also teils extrem ungleich behandelt. Schau also mal wie hoch die Netzwerkauslastung des "Servers" ist und vertausche ggf. mal die Port an denen die beiden Rechner hängen.
alle Rechner haben das gleiche Betriebssystem
Welches denn genau?
 
Was mir aufgefallen ist: Bei CPU-Z sehe ich, dass der AMD Prozessor praktisch nie unter 3 Ghz geht
Das ist bei den meisten so. Betrifft explizit die APUs im Desktop unter Windows. Ist trotzdem sparsam im Idle.
 
Hallo und danke erst einmal für Eure Antworten
Nur eine Vermutung, aber das klingt irgendwie fast so, als würde das Programm auf dem 12600K evtl. ungewollt auf den E-Cores laufen? Der 12600K besitzt ja ein hybrides Design aus P-Cores (hohe Leistung) und E-Cores (niedrige Leistung). Du könntest mal testen über den Taskmanager die CPU-Zugehörigkeit auf die P-Cores zu erzwingen. Dazu öffnest Du den Taskmanager, wählst den Prozess, dann Rechtsklick und "Zu Details wechseln". Im nächsten Fenster wieder Rechtsklick auf den entsprechenden Prozess und "Zugehörigkeit festlegen" wählen. Hier geht dann ein Fenster auf mit den einzelnen Kernen. Der 12600K hat 6 P-Cores (mit HT) und 4 E-Cores, d.h. CPU 0 bis 11 sollten die P-Cores sein. Hier setzt Du die Haken, während Du sie für "CPU 12 bis 15" deaktivierst (das sind die E-Cores).

Das gleiche kann man auch mit Tools wie "Process Lasso" erreichen, die Hardcorevariante wäre die E-Cores im BIOS mal temporär zu deaktivieren. Vielleicht probierst Du es mal und schaust, ob dein Programm die CPU dann besser auslastet / diese höher taktet.
Ich habe einmal die CPU 11-16 weggeschalten, und leider nur das gleiche Ergebnis bekommen. Auch versuchte ich hier die Prioritäten zu verändern. Auch das leider ohne Erfolg. Am Bios hatte ich schon davor rum gewerkelt. Auch hier kein Erfolg. Kann ich dem I5 irgendwie beibringen, dass er nie unter 3Ghz geht?

Wie ist denn die CPU Auslastung der einzelnen Kerne beim i5? Wie roestzwiebel schon schrieb, könnte es sein das der Task Scheduler die Threads nur auf den e-Kernen oder vielleicht auch nur auf den P-Kernen laufen lässt, statt auf allen Kernen.

Wenn das ein billiger Consumer Switch ist, dann kann man dies keineswegs ausschließen, denn es gab mal vor Jahren einen Review (leider finde ich ihn nicht mehr) wo genau dies getestet wurde und die Abweichungen beim Durchsatz der einzelnen Ports wenn mehr Datenverkehr als der Uplink schafft, waren teils gewaltig. Die Switches haben die einzelnen Ports also teils extrem ungleich behandelt. Schau also mal wie hoch die Netzwerkauslastung des "Servers" ist und vertausche ggf. mal die Port an denen die beiden Rechner hängen.

Welches denn genau?
Das ganze Netzwerk ist mit Unifi Switches aufgebaut. Die funktionieren einwandfrei. Es liegt definfit nicht am Netzwerk, da dieses mit jperf komplett durchgetestet wurde. Auch über Crosslink ohne einem Switch nur zwischen Server und Klienten gibt es auch keinen Performance Gewinn.

Auch wurden die Systeme zuerst mit Windows 10 64 bit und danach mit Windows 11 64 bit getestet. Es machte keinen Unterschied :(

Wie ist denn die CPU Auslastung der einzelnen Kerne beim i5? Wie roestzwiebel schon schrieb, könnte es sein das der Task Scheduler die Threads nur auf den e-Kernen oder vielleicht auch nur auf den P-Kernen laufen lässt, statt auf allen Kernen.

Wie kann ich die Auslastung auf den einzelnen Kernen sehen? Oder einmal anders gefragt. Sollte ich dem Programm nur einen Kern zur Verfügung stellen, müsste das Programm ja immer noch rasend schnell sein.
Könnte ich zum Beispiel einem Kern sagen, dass er dann auch mit mindestens 3.5 Ghz takten soll, egal ob er Last bekommt oder nicht. Dies setzt natürlich voraus, dass es tatsächlich an der Taktfrequenz liegt.
Letztendlich auch noch das Problem: Sollte es tatsächlich über den Taskmanager möglich sein das Programm zu boostern; wie kann ich das dann permanent einstellen. Bei jedem Neustart vom HS3 sind wieder alle Kerne mit dabei?

Danke Euch für Eure Hilfe.
LG Arthur
Beitrag automatisch zusammengeführt:

Das ist bei den meisten so. Betrifft explizit die APUs im Desktop unter Windows. Ist trotzdem sparsam im Idle.
Kann es wirklich sein, dass in diesem Fall die AMD Prozessoren im Vorteil sind?
Beitrag automatisch zusammengeführt:

Das ist bei den meisten so. Betrifft explizit die APUs im Desktop unter Windows. Ist trotzdem sparsam im Idle.
Macht das in meinen Fall den Unterschied aus? Gesetzt den Fall;
Was sollte dann meine nächste Kaufentscheidung sein?
 
Zuletzt bearbeitet:
Ich habe einmal die CPU 11-16 weggeschalten, und leider nur das gleiche Ergebnis bekommen.
Wie genau? Im BIOS die e-Kerne zu deaktivieren sollte die sicherste Möglichkeit sein um zu verhindern dass diese genutzt werden.
Wie kann ich die Auslastung auf den einzelnen Kernen sehen?
Im Taskmanager mit der entsprechenden Einstellung oder nimm HWInfo64 und dort Sensors. Informiere Dich mal wie man solche Dinge genau analysieren kann, wenn Du das nicht verstehst, dann wird es schwer zu erkennen was auf dem 12600K passiert.
Oder einmal anders gefragt. Sollte ich dem Programm nur einen Kern zur Verfügung stellen, müsste das Programm ja immer noch rasend schnell sein.
Wenn Du dem Programm nur einen Kern gibst, was im Taskmanager möglich ist und es dann genauso schnell läuft, dann hängt dessen Performance alleine an der Singlethredperformance und da besteht bei den 12600K halt die Gefahr, dass dieser Thread immer auch mal auf einem der e-Kerne geschoben wird, was dann natürlich viel langsamer als auf einem P-Kern wäre.
Könnte ich zum Beispiel einem Kern sagen, dass er dann auch mit mindestens 3.5 Ghz takten soll, egal ob er Last bekommt oder nicht.
Wozu? Die Taktraten wird doch der Last entsprechend in ms angepasst und wenn ein Kern keine Last hat, ist es egal wie hoch er taktet.
 
Sollte es tatsächlich über den Taskmanager möglich sein das Programm zu boostern; wie kann ich das dann permanent einstellen.
CPU Affinity ist das Stichwort nach dem Du suchen musst und dann findest Du Ergebnisse wie z.B. diese:


 
Hallo,
danke für Eure Ratschläge.
Habe heute einmal ein wenig herum probiert.
Zuerst einmal konnte ich die Taktfrequenz auf den Intel Prozessoren hoch halten, indem ich bei den Energieoptionen die "höchste Leistung" eingestellt habe.
Jetzt taktet der Intel Prozessor immer über 3.5 Ghz.
Ich nehme mal an, dass dies dem Prozessor nicht wirklich schaden wird, aber der Stromverbrauch wird halt höher sein.

Des Weiteren konnte ich auch mit dem Hotelprogramm Hersteller sprechen, der meinte, dass die Firebird Daten Bank auf jeden Fall Multithreading fähig ist.

Letztlich nehme ich nun doch an, dass es vielleicht an den E core Prozessoren liegen könnte, wo vielleicht das Rendereing vom Hotel Programm hinverlagert wird.
Auf dem Server habe ich nun die ganzen E-cores über den Task Manager weg geschalten, und da ist wirklich ein Performance Gewinn vorhanden (aber der Server war ohnehin immer sehr schnell)..

Dazu eine Frage. Wäre es möglich die E cores permanent abzuschalten?
Die Rechner, die ich verwende sind alle Lenovo`s.

Danke Euch für Eure Hilfe!
LG Arthur
 
Letztlich nehme ich nun doch an, dass es vielleicht an den E core Prozessoren liegen könnte, wo vielleicht das Rendereing vom Hotel Programm hinverlagert wird.
Dann schau mal auf die Priorität der entsprechenden Prozesse, wenn diese unterhalb von normal ist, dann wäre es normal und so vorgesehen, dass diese nur auf den e-Kernen laufen.
Dazu eine Frage. Wäre es möglich die E cores permanent abzuschalten?
Ja nach Mainboard sollte dies im BIOS möglich sein. Frage im Zweifel bei Lenovo nach, ob und wenn ja wo diese Option vorhanden ist.
 
Bei CPU-Z sehe ich, dass der AMD Prozessor praktisch nie unter 3 Ghz geht
CPU-Z kann nicht die "effectiv clock speed" auslesen. Die kannst Du nur im RyzenMaster oder HWInfo sehen.
Wenn Du eines der beiden Programme benutzt wirst Du sehen, dass die einzelnen Kerne auch deutlich unter 3 GHz takten und teilweise ganz "schlafen" gelegt werden, wenn sie nicht benötigt werden.
Beitrag automatisch zusammengeführt:

, wo vielleicht das Rendereing vom Hotel Programm hinverlagert wird.
Kann es sein, dass hier beim AMD-Prozessor etwas auf den iGP-Part ausgelagert wird und daher die Berechnung deutlich schneller ist als beim Intel?
Könnte man im Taskmanager sehen, wenn nicht nur die CPU sondern auch die GPU-Last hoch geht.
 
Zuletzt bearbeitet:
CPU-Z kann nicht die "effectiv clock speed" auslesen. Die kannst Du nur im RyzenMaster oder HWInfo sehen.
Wenn Du eines der beiden Programme benutzt wirst Du sehen, dass die einzelnen Kerne auch deutlich unter 3 GHz takten und teilweise ganz "schlafen" gelegt werden, wenn sie nicht benötigt werden.
Beitrag automatisch zusammengeführt:


Kann es sein, dass hier beim AMD-Prozessor etwas auf den iGP-Part ausgelagert wird und daher die Berechnung deutlich schneller ist als beim Intel?
Könnte man im Taskmanager sehen, wenn nicht nur die CPU sondern auch die GPU-Last hoch geht.
Den Verdacht hatte ich auch schon,
aber die IGP steigt beim Ryzen auch nicht wirklich.
Der Hotelprogramm Hersteller meinte heute, dass da wirklich was nicht mit den P-cores und e-cores stimmen dürft, und sie möchten sich dies nun auch genauer ansehen.

Besser gesagt; sie haben derzeit auch keinen Tau, warum da so große Unterschiede herrschen.

Ich danke Euch nochmals für Eure Hilfe!.
Sollte sich etwas grundlegendes ändern, werde ich es hier gerne posten.

Liebe Grüße!
Arthur
 
Der Hotelprogramm Hersteller meinte heute, dass da wirklich was nicht mit den P-cores und e-cores stimmen dürft, und sie möchten sich dies nun auch genauer ansehen.
Das hätten sie schon nach Erscheinen von Alder Lake machen sollen und nicht erst jetzt. Die werden dann sicher früher oder später eine neue Version rausbringen die Alder Lake besser nutzen kann.
 
Das hätten sie schon nach Erscheinen von Alder Lake machen sollen und nicht erst jetzt. Die werden dann sicher früher oder später eine neue Version rausbringen die Alder Lake besser nutzen kann.
Hallo Holt. Denke da sind die kleinen Hersteller, wie schon viele Andere, immer im Hintertreffen. Sie geben derzeit ein Versprechen, dass sie ohnehin eine 64 bit Version planen.
Ob dies das Problem löst weiss ich nicht :(

LG Arthur
 
Wenn das Problem die Verteilung der Threads auf die P-Kerne und e-Kerne ist, was in diesem Fall dann automatisch aufgrund der Prioritäten dieser Threads erfolgt, dann hat das vermutlich nichts mit 32 oder 64 Bit zu tun.
 
Wenn das Problem die Verteilung der Threads auf die P-Kerne und e-Kerne ist, was in diesem Fall dann automatisch aufgrund der Prioritäten dieser Threads erfolgt, dann hat das vermutlich nichts mit 32 oder 64 Bit zu tun.
Da hast Du recht. Ich denke mal, dass die Hersteller versuchen werden das Programm ohnehin auf 64 bit zu schreiben, und daraus resultierend werden sie hoffentlich die Prozessorprobleme lösen wollen,
sofern hier Probleme bestehen.
 
Das Problem dürfte die Priorisierung der Threads sein, wenn diese Renderthreads, was auch immer die nun bei einem Hotelprogramm zu rendern haben, eben mit geringerer Priorität als Normal laufen, dann ist es bei Windows so vorgesehen, dass sie bei Alder Lake nur auf den e-Kernen laufen, sofern welche vorhanden sind. Schau mal im Task Manager unter Details welche Threads das Programm hat und welche Priorität diese haben.


Bis das behoben ist, kannst Du ja den Prozess mit "start /affinity <MASK> Programm.exe" starten, siehe hier (der Link war schon in Post #8):
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh