Autor Beitrag
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1106
Erhaltene Danke: 133

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mo 04.12.17 20:01 
Guten Abend,

ich will mir einen neuen PC auf Basis der neuen Coffee Lake-Generation bauen.
Dass es ein K-Prozessor sein wird, ist für mich klar, es bleibt nur noch offen: i5 oder i7?
Es steht also die Wahl zwischen dem i5 8600K und dem i7 8700K

Wenn ich beide rein nach Datenblatt vergleiche, fallen folgende Punkte auf:

  • Der i7 8700K unterstützt Hyper-Threading und damit damit 12 logische Kerne
  • Ein 3 MB größerer Level3-Cache

Die etwas schnellere GPU-Rate interessiert nicht, da der Grafik-Chip sowieso nur für einfache Desktop-Anwendungen genutzt wird und noch eine dedizierte Grafikkarte dazu kommt.

Das Hyper-Threading scheint auf den ersten Blick interessant, aber effektiv ist es auch nur ein Hardware-unterstütztes Multi-Threading.
Am Ende sind's dann doch nur die 6 physischen Kerne, die die ganze Arbeit erledigen.

Wie der etwas größere Cache sich auswirkt, kann ich nicht einschätzten.

Ich nutze den Rechner hauptsächlich zum Zocken, Programmieren und Filme schauen.
Für Mobile kommt auch mal eine VM dazu, in der ich dann z.B. Android laufen lasse.


Nun meine Frage:
Lohnt sich der doch deutlich höhere Preis?

Gruß
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 157
Erhaltene Danke: 17

Linux Raspbian, Win10
C, C++, Python, JavaScript, Delphi7, Casio Basic, Basic Stamp
BeitragVerfasst: Mo 04.12.17 20:29 
Also ich würde grob sagen nein - kommt natürlich auch darauf an was du spielst, programmierst etc. Vergleiche doch noch als drittes mit deinem aktuellen PC und schau was sich wie stark verbessert oder vllt sgar verschlechtert. Dann kannst du so ungefähr abschätzen was dich erwartet.

Für die programmierung finde ich es garnicht so schlecht, wenn man nen nicht so leistungsfähigen Rechner hat, denn wenn es auf dem flüssig läuft, kannst du dir relativ sicher sein, dass es auch auf den meisten anderen flüssig laufen wird.

Was VMs anbelangt kann ich dir nicht viel helfen - das kommt ebenfalls darauf an wie die VM arbeitet usw.

Also wie gesagt vergleiche nochmal mit deinem aktuellen PC - ich tendierte aber zu dem weniger starken.

LG

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1106
Erhaltene Danke: 133

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mo 04.12.17 20:50 
Mein bisheriger Rechner:
Acer Aspire VN7-571G-52DB
Das Ding war für den Preis echt gut, heute ist er aber nur halbwegs gut. Besser wird's also auf jeden Fall. :D
Das Notebook würde ich aber auch zum Testen nutzen, ich denke, der ist halbwegs vergleichbar mit den Office-Rechnern, die man heute so bekommt + dedizierte Grafikkarte.


Aber Du würdest auch sagen, dass die 6 gefakten "Karne" und 3MB mehr L3-Cache nicht lohnen?
Das sagt auch mein Gefühl, es gibt aber auch Tests, die sagen, dass der i7 durchaus besser ist, es ist bloß schwierig, da den Unterschied zwischen spürbar und messbar heraus zu lesen.
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 157
Erhaltene Danke: 17

Linux Raspbian, Win10
C, C++, Python, JavaScript, Delphi7, Casio Basic, Basic Stamp
BeitragVerfasst: Mo 04.12.17 20:56 
schwierig zu beantworten. Wenn du mit deinem jetzigen Rechner gut über die Runden gekommen bist und es 'nur besser wird' würde ich ganz grob sagen ja. Vorallem wenn er dadurch doppelt so teuer wird ^^

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1106
Erhaltene Danke: 133

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mo 04.12.17 21:14 
Das Geld ist kein Problem, das nötige Kleingeld hab ich.
Aber ich will kein zusätzliches Geld ausgeben, wenn es sich nicht auch irgendwie lohnt.
Ein paar Prozent mehr Leistung, die man höchstens messen kann, ist es mir dann doch nicht wert.

Meine Überlegung zielte eher darauf ab:
Könnten die 6 zusätzlichen logischen Kerne in Zukunft einen Vorteil bringen?
Wenn ich so überlege, komm ich zu dem Ergebnis, dass Hyper-Threading eigentlich nur eine halbwegs messbare Marketing-Strategie ist.


Aber gut, dann werde ich deine Einschätzung mal im Hinterkopf behalten.
Ich hab ja sowieso noch einen Monat, bis ich das Geld zusammen habe :D
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1603
Erhaltene Danke: 222

WIN7,PuppyLinux
FreePascal,Lazarus,TurboDelphi
BeitragVerfasst: Mo 04.12.17 22:02 
Hallo,

hyperthreading ist so eine Sache.
Ich habe vorweihnachtlich den ALDi Rechner 56000 mit Ryzen 5 1600 erworben.
Der hat ja 6 Kerne mit SMT/Hyperthreding.
Bei Lazarus gibt es ein Beispielprogramm ParallelLoop1.
Die Units dazu
github.com/alriecker...nts/multithreadprocs
und die Beispielprogramme
github.com/alriecker...threadprocs/examples
Das ist mit 12 Kernen und SMT wesentlich langsamer ( +25%..200% )und stark schwankend, als 6 Kerne ohne SMT( Im BIOS abschaltbar )
Das liegt aber auch am Programm, das nicht getrennte Blöcke für jeden thread abarbeitet, sondern lesend nahm sich jeder thread im Abstand von BlockCount, bei mir 12 einen Wert vor.
Mit getrennten Blöcken ist SMT ein wenig schneller.
Bei Suche nach Primzahl Quadrupeln brachte der Einsatz von 4 Prozessen von pfgw64 ( auf i4330 2Kerne +SMT ) etwa 17% Mehr Leistung als ein Kern.GMP war unter Linux immerhin 30..40% schneller, aber immer noch langsamer als pfgw64..

ABER:
Hat die CPU SMT, dann landen die Aufgaben eben immer wieder parallel auf einem Kern, selbst wenn man nur zwei Prozesse laufen lässt.Kommt bei Dual-Core mit SMT öfter vor.
Wenn man es eilig hat, muss man jeden Thread/Prozess an seinen Kern ketten.
Windows10 wechselt ständig den zuständigen Kern.Das hat bei maximaler Threadzahl wenig Sinn, bei wenigen aber den Vorteil, das threads öfter auf unterschiedlichen Kernen laufen.
Unter Linux, wurden die threads nur all zig Sekunden von einem Kern zu einem anderen verschoben, das hat Vorteile, wenn auf kleinen Datenmengen im Cache arbeitet.
//Unter Windows lief ein SingleThread-Programm 1min43 statt 1min32 durch diese ständige Hüpferei

Hier kann man ja gut sehen.Was es so bringen könnte
cpu.userbenchmark.co...-i5-8600K/3937vs3941
Dort steht ja bei Multicore unten das es etwa 30%..38% schneller mit SMT ist.
Bei Quadcore-Programmen ist kein Unterschied.

Gruß Horst
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1106
Erhaltene Danke: 133

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mo 04.12.17 22:18 
Wenn ich ehrlich bin, steig ich da nicht ganz durch :D
Ich hab bisher nie Performance-Tests auf diesem Level betrieben, für mich ist das also neuland.

Aber ja, rein logisch betrachtet läuft ein Programm, das für 12 Kerne optimiert wurde, auf einem Prozessor mit Hyper-Threading (6 physische und 12 logische Kerne) langsamer, als ein Programm auf 6 physischen Kernen, das auf für 6 Kerne optimiert wurde.
Effektiv gibt's zwar ein paar Vorteile gegenüber normalen Threads, einen echten Kern wird ein simulierter Kern beim Hyper-Threading nicht erreichen können.

Dazu kommt ja auch noch der Cache beim i7 einen 33% größeren Cache hat.
Effektiv bleiben den einzelnen Threads darauf aber nur die Hälfte übrig, immerhin wird der selbe Cache für beide Threads genutzt.


Davon ausgehend, dass ich jetzt keinen ganz groben Unfug geschrieben hab, ist das ein direkter Grund gegen den i7.
Bisher stand nur die Frage im Raum "Lohnt sich das?" Aber wenn der der Prozessor - wenn auch nur theoretisch - sogar schwächer ist, dann hat sich die Frage eigentlich geklärt.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18549
Erhaltene Danke: 1585

W10 x64 (Chrome, IE11)
Delphi 10.1 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 05.12.17 06:59 
Der i7 ist laut Benchmark etwa 33% schneller bei Multithreadanwendungen und knapp 10% schneller bei einem einzelnen Thread.
www.cpubenchmark.net...+3.60GHz&id=3100
www.cpubenchmark.net...+3.70GHz&id=3098

Ich selbst habe mich für den i5-8400 entschieden. Der ist nicht einmal 10% langsamer als der i5-8600k und ca. ein Drittel bzw. ein Sechstel (Single Thread) langsamer als der i7-8700k. Mir persönlich war es den Aufpreis nicht wert.

So habe ich für Mainboard, CPU und 16 GB RAM ca. 360 Euro bezahlt. Da ist mir der Unterschied zu den anderen Modellen wirklich zu hoch.

_________________
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1603
Erhaltene Danke: 222

WIN7,PuppyLinux
FreePascal,Lazarus,TurboDelphi
BeitragVerfasst: Di 05.12.17 14:40 
Hallo,

ich habe mal ParallelLoop1 modifiziert und die Laufzeiten ausgeben lassen:
Also in einem Feld mit 134Mio aufsteigenden Int64 Zahlen sollte die 9999 gefunden werden.
Blockweise untersucht verschieden Abschnitte.
Interleaving greift lesend immer versetzt zu.Ein thread macht Index 0->2->4, der andere 1->3->5...
Wenn man die CPU Voll auslastet und nichts für alltägliche Dinge an CPU Zeit frei lassen will wird es ganz Übel.
Schon bei 1 thread weniger wird es erheblich besser, aber single-threaded ( letzte Zeilen ) ist immer besser.
Witzigerweise sind selbst 2 threads bei Blockweise bei diesem groben Test nicht wirklich langsamer als 10.
Ist mein Hauptspeicher sooo lahm? 1 thread in etwa 0.087 ms 1 GB = 1124e6 Byte sind 12,93e9B/s
Bei 10 threads 0.062 -> 18,13e9 B/s

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
 # wine64 ParallelLoop2 
Belegter Speicher   1.00 GB
Nutze 12 thread(s)
Blockwise      0.066   0.063   0.065   0.069   0.063   0.066 i=9999
Interleaving   0.500   0.504   0.542   0.509   0.570   0.450 i=9999
Nutze 11 thread(s)
Blockwise      0.069   0.067   0.067   0.067   0.067   0.066 i=9999
Interleaving   0.118   0.124   0.116   0.123   0.160   0.122 i=9999
Nutze 10 thread(s)
Blockwise      0.062   0.062   0.062   0.062   0.061   0.060 i=9999
Interleaving   0.110   0.116   0.112   0.118   0.135   0.167 i=9999
Nutze 9 thread(s)
Blockwise      0.062   0.065   0.065   0.066   0.061   0.061 i=9999
Interleaving   0.109   0.112   0.113   0.112   0.113   0.110 i=9999
Nutze 8 thread(s)
Blockwise      0.062   0.061   0.062   0.061   0.062   0.061 i=9999
Interleaving   0.123   0.124   0.123   0.122   0.185   0.123 i=9999
Nutze 7 thread(s)
Blockwise      0.064   0.064   0.063   0.062   0.062   0.063 i=9999
Interleaving   0.123   0.124   0.126   0.123   0.123   0.124 i=9999
Nutze 6 thread(s)
Blockwise      0.070   0.061   0.062   0.062   0.062   0.062 i=9999
Interleaving   0.122   0.121   0.123   0.121   0.122   0.122 i=9999
Nutze 5 thread(s)
Blockwise      0.069   0.068   0.068   0.068   0.068   0.068 i=9999
Interleaving   0.120   0.119   0.119   0.119   0.099   0.100 i=9999
Nutze 4 thread(s)
Blockwise      0.061   0.061   0.061   0.063   0.062   0.062 i=9999
Interleaving   0.093   0.090   0.091   0.092   0.090   0.090 i=9999
Nutze 3 thread(s)
Blockwise      0.068   0.063   0.064   0.063   0.064   0.063 i=9999
Interleaving   0.094   0.095   0.095   0.094   0.094   0.094 i=9999
Nutze 2 thread(s)
Blockwise      0.069   0.063   0.062   0.062   0.062   0.063 i=9999
Interleaving   0.092   0.091   0.090   0.087   0.122   0.089 i=9999
Nutze 1 thread(s)
Blockwise      0.087   0.087   0.085   0.085   0.086   0.085 i=9999
Interleaving   0.086   0.087   0.087   0.086   0.087   0.087 i=9999

Anbei der Quelltext und die Win64 und Linux64 Kompilate

Gruß Horst
Einloggen, um Attachments anzusehen!
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 22



BeitragVerfasst: Mi 06.12.17 10:51 
Bin gerade über einen Artikel gestolpert und habe dabei an diesen Thread gedacht.
Vielleicht hilft es ja:

www.computerbase.de/...0-turbo-takt-oem-pc/
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1106
Erhaltene Danke: 133

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mi 06.12.17 11:50 
Klingt so, als wäre ein 8700K nur ein 8700 mit frei geschaltetem Multiplikator (und was noch relevant ist) und einer höheren Leistungs-Grenze.

Dazu ist folgendes Video sicher auch ganz interessant:

Intel-CPUs innerhalb der Spezifikation betreiben / PCGH-Basiswissen

Da wird gezeigt, wie man den Mainboards bei bringt, die CPU immer auf die Spezifikation zu begrenzen.
Die meisten Mainboards scheinen der CPU aber von Haus aus (Auto-Einstellung) mehr Raum zu lassen, als von Intel vorgegeben. Das sind dann auch mal 30/40 Watt mehr - auch bei den K-Prozessoren.
Das ist dann interessant, wenn die Kühlung nur mit der vorgegebenen Leistungsaufnahme klar kommt und mit mehr überfordert wäre.

Das im Video gezeigte Prinzip kann man aber genauso gut auch umdrehen.
Wenn die Kühlung das mit macht, könnte man diesen sowieso etwas höheren Deckel auch noch etwas weiter anheben.
Ob das was bringt, sei mal dahin gestellt, aber ausprobieren schadet nicht, solange man es vorsichtig angeht.
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1106
Erhaltene Danke: 133

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mi 06.12.17 15:04 
Aber wenn der 8700K tatsächlich kaum besser als der 8700, ist das K doch nicht gesetzt.
Mein Kollege sagte gerade auch, dass die K-Prozessoren oft weniger Befehlssätze unterstützen können.
Bemerkbar wird das vermutlich kaum sein, aber dafür, dass eine CPU im Endeffekt kaum besser ist außer eine höhere Leistungsgrenze und frei geschalteter Multiplikator, zahle ich keine 60€.
Außerdem werde ich beim manuell übertakten vermutlich nicht viel mehr raus holen können als der Boost.
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443
Erhaltene Danke: 82

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Do 07.12.17 09:00 
Ich bin überrascht, denn es ist schon seit Einführung der K-Prozessoren von Intel so, das das K nur aussagt, das der Multplikator in der CPU frei ist. Er kann also nach belieben verändert werden und ist somit ein gefundenes Fressen für Overclocker - und diesen Rahm schöpft Intel eben mit ab. Ansonsten snd das die gleichen CPUs wie eben ohne K ohne jedweden Mehrwert - aber auch ohne jede Einschränkung.

Fehlende Befehlssätze oder ähnliches sind ein Ammenmärchen. Sowas gab es IIRC das letzte mal beim 486er, wo der 486SX im Gegensatz zum 486DX keine integrierte FPU hatte (bzw. diese abgeschaltet war).

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.