Prozessor für Programmierer



  • prozz schrieb:

    Hallo,

    welchen Prozessor verwendet ihr so und welchen haltet ihr für Programmierer am geeignetsten? Welche haben das beste Preis-/Leistungsverhältnis und trotzdem genug Power für alle notwendigen Anforderungen wie Kompilieren und VMs hat?
    Lieber Intel oder doch AMDs neue Ryzens?

    Es spielt beim Programmieren keine Rolle.
    Sowohl Intel als auch AMD tut's.

    Hauptsache x86 Architektur.
    Wobei es auch mit anderen geht, aber da ist man oft zu unflexibel.

    Klar, wenn du in Assembler proggen willst, dann gibt's andere Architekturen die einfacher sind, aber heute überlässt man die Arbeit eher dem Compiler und verwendet eine Hochsprache.
    So bleibt alles schön portabel und der Entwicklungsaufwand ist geringer.

    Einen Tipp kann ich aber geben.
    Sieh zu, dass dein Rechner beim Proggen möglichst leise ist.



  • Vielen Dank an SeppJ für deine Erklärung. Ich finde es grundsätzlich nur bedenklich, wenn Beiträge einfach so spurlos verschwinden - das habe ich hier leider schon öfter beobachtet.
    Da ist man sich dann unsicher, ob man sich geirrt hat, Diskussionen ergeben plötzlich keinen Sinn mehr oder man fragt sich, wohin der Thread jetzt ist. Ein Editieren des Beitrags mit Zensur halte ich da für die bessere Lösung. In meinem Fall hätte zum Beispiel einfach der Link entfernt werden können.

    Die Frage stelle ich, weil ich eben vor der Entscheidung zwischen einem AMD Ryzen 5 1500X oder 1600 oder einem Intel i5-7500 oder 8500 stehe und mich nicht so recht entscheiden kann. Das einzige, wozu ich etwas finde, ist die Gaming-Power und die interessiert mich nur untergeordnet bis gar nicht. Ryzen 5 hat eben mehr Kerne (was vermutlich beim Kompilieren vorteilhaft ist, vor allem da der i5-7500 noch nicht einmal Hyperthreading benutzt), dafür keine integrierte Grafikeinheit. Deshalb müsste ich halt noch eine billige dedizierte GPU kaufen. Deswegen klang auch das Angebot gar nicht schlecht, da ich zusammengerechnet für die Einzelteile, glaube ich, fast mehr zahlen müsste.
    Hier (ohne Link) ein kleiner Überblick:
    Für 599€ gibt es:
    - Ryzen 5 1600
    - 8GB DDR4 RAM
    - 128GB SSD + 1TB HDD
    - Radeon RX 560 2GB GDDR5
    - Gigabit-LAN + WLAN-ac + Bluetooth
    - genug USB-Anschlüsse

    Ich weiß eben auch nicht so genau, ob die GPU im Intel für 3 Monitore FHD reicht.



  • 8GB finde ich auf jeden Fall etwas zu wenig.
    Die SSD ist auch ziemlich klein, damit kommst nicht weit.


  • Mod

    prozz schrieb:

    Vielen Dank an SeppJ für deine Erklärung. Ich finde es grundsätzlich nur bedenklich, wenn Beiträge einfach so spurlos verschwinden - das habe ich hier leider schon öfter beobachtet.
    Da ist man sich dann unsicher, ob man sich geirrt hat, Diskussionen ergeben plötzlich keinen Sinn mehr oder man fragt sich, wohin der Thread jetzt ist. Ein Editieren des Beitrags mit Zensur halte ich da für die bessere Lösung. In meinem Fall hätte zum Beispiel einfach der Link entfernt werden können.

    Nee, lieber nicht. Ansonsten bestünde TrudPC aus 200 Seiten 'hier hat Jacks getrollt' und in MSVC++ wären auf der ersten Seite 20 Beiträge 'hier stand Schuhwerbung'. Nicht sinnvoll. Und ich fange ganz bestimmt nicht an, bei Werbung und Trollbeiträgen abzuwägen, welcher Teil davon eventuell für die Nachwelt erhalten bleiben sollte. Wenn man jemand nicht möchte, dass seine Beiträge gelöscht werden, soll er keine Beiträge schreiben, die aussehen, als stammten sie von einem chinesischen Spambot. Funktioniert 100% zuverlässig.



  • prozz schrieb:

    Ryzen 5 hat eben mehr Kerne (was vermutlich beim Kompilieren vorteilhaft ist, vor allem da der i5-7500 noch nicht einmal Hyperthreading benutzt), ...

    Wärst du ein Programmierer mit langjähriger Programmiererfahrung, dann würdest du hier keine Vermutung anstellen, sondern wissen ob dir mehr Kerne bringen.

    Da dem nicht so ist, ist es scheiß egal wie viel Kerne die CPU hat, weil deine ersten Programmierprojekte eh alle kleine Projekte sein werden und die sind so klein, dass sie auch auf einem 1 Kerner in wenigen ms compiliert sein werden.

    Wichtiger ist da mehr RAM und eine größere SSD.

    Ich weiß eben auch nicht so genau, ob die GPU im Intel für 3 Monitore FHD reicht.

    Alles >= Skylake kann 3 GPUs mit FHD versorgen.

    Erwarte aber nicht, dass du auf 3 Monitoren mit einer iGPU in FHD superflüssig mit 60 fps zocken kannst.



  • SeppJ schrieb:

    prozz schrieb:

    Vielen Dank an SeppJ für deine Erklärung. Ich finde es grundsätzlich nur bedenklich, wenn Beiträge einfach so spurlos verschwinden - das habe ich hier leider schon öfter beobachtet.
    Da ist man sich dann unsicher, ob man sich geirrt hat, Diskussionen ergeben plötzlich keinen Sinn mehr oder man fragt sich, wohin der Thread jetzt ist. Ein Editieren des Beitrags mit Zensur halte ich da für die bessere Lösung. In meinem Fall hätte zum Beispiel einfach der Link entfernt werden können.

    Nee, lieber nicht. Ansonsten bestünde TrudPC aus 200 Seiten 'hier hat Jacks getrollt' und in MSVC++ wären auf der ersten Seite 20 Beiträge 'hier stand Schuhwerbung'. Nicht sinnvoll. Und ich fange ganz bestimmt nicht an, bei Werbung und Trollbeiträgen abzuwägen, welcher Teil davon eventuell für die Nachwelt erhalten bleiben sollte. Wenn man jemand nicht möchte, dass seine Beiträge gelöscht werden, soll er keine Beiträge schreiben, die aussehen, als stammten sie von einem chinesischen Spambot. Funktioniert 100% zuverlässig.

    Diesen Standpunkt kann ich natürlich auch verstehen. Ich werde mich in Zukunft bemühen, keine Shopping-Links (auch wenn es sich nur um eine Ankündigung auf zdnet handelte) zu verwenden.

    Mechanics schrieb:

    8GB finde ich auf jeden Fall etwas zu wenig.
    Die SSD ist auch ziemlich klein, damit kommst nicht weit.

    Das sind die beiden Punkte, bei denen ich ja auch schon ein kleines Update erwähnt hatte. Ich muss sonst noch einmal mit den aktuellen Preisen der Einzelteile zusammenrechnen, wie viel solch ein PC selbst zusammengebaut kosten würde. Bei ähnlicher Konfiguration kam ich nämlich vor ~4 Monaten auf 750€.

    computertrolls schrieb:

    prozz schrieb:

    Ryzen 5 hat eben mehr Kerne (was vermutlich beim Kompilieren vorteilhaft ist, vor allem da der i5-7500 noch nicht einmal Hyperthreading benutzt), ...

    Wärst du ein Programmierer mit langjähriger Programmiererfahrung, dann würdest du hier keine Vermutung anstellen, sondern wissen ob dir mehr Kerne bringen.

    Da dem nicht so ist, ist es scheiß egal wie viel Kerne die CPU hat, weil deine ersten Programmierprojekte eh alle kleine Projekte sein werden und die sind so klein, dass sie auch auf einem 1 Kerner in wenigen ms compiliert sein werden.

    Langjährig ist übertrieben. Aber ein paar Jahre sind es inzwischen schon. 😉
    Nur mit dem Vorgang des Kompilierens habe ich mich bis ins letzte Detail bisher noch nicht informiert. Aber man kann ja mit mehreren Threads gleichzeitig kompilieren (meistens sogar recht einfach durch make -jX) bei größeren Projekten. Hier müssten mehr Kerne ja eigentlich einen Vorteil bieten, wenn ich mich nicht irre. 2-3 Minuten brauchen meine üblichen kleineren Projekte schon, wenn sich das auf unter 2 Minuten reduzieren ließe, wäre ich schon recht glücklich.

    Wichtiger ist da mehr RAM und eine größere SSD.

    Wie oben erwähnt, das auf jeden Fall.

    Ich weiß eben auch nicht so genau, ob die GPU im Intel für 3 Monitore FHD reicht.

    Alles >= Skylake kann 3 GPUs mit FHD versorgen.

    Erwarte aber nicht, dass du auf 3 Monitoren mit einer iGPU in FHD superflüssig mit 60 fps zocken kannst.

    Games sind, wie schon erwähnt, definitiv nicht die Aufgabe eines Rechners von mir. Allerdings sollten Videos in FHD zusammen mit anderen (nicht sehr grafiklastigen) Anwendungen auf zwei anderen Bildschirmen gleichzeitig ruckelfrei laufen können.



  • prozz schrieb:

    Aber man kann ja mit mehreren Threads gleichzeitig kompilieren (meistens sogar recht einfach durch make -jX) bei größeren Projekten. Hier müssten mehr Kerne ja eigentlich einen Vorteil bieten, wenn ich mich nicht irre.

    Compilieren skaliert ziemlich gut bis super. Hängt vom Build-Tools ab, davon wie die Projekte aufgebaut sind und bei sowas wie make natürlich davon wie die Makefiles geschrieben sind.

    Wenn du wissen willst welche CPU da die Nase vorn haben wird würde ich non-gaming, non-rendering, non-videoencoding multithreaded Benchmarks angucken. Also vielleicht zippen oder sowas. Und im Zweifelsfall die CPU die bei gleicher Gesamtleistung weniger Cores hat - sollte klar sein. (Wenn ich 4 Cores gleichzeitig auslasten muss um auf 100% zu kommen ist das einfacher zu machen als wenn ich 8 Cores gleichzeitig auslasten muss.)

    Linken skaliert schlechter, wobei da ne schnelle SSD hilft. Also besser NVMe als SATA und besser 256 als 128 GB.

    Zum Thema RAM: kommt darauf an mit welcher Toolchain du arbeitest und ob du viel linkst. Ich arbeite mit Projekten die schnell mal aus 20, 30, 40 statischen Libs zusammengelinkt werden, wobei dann auch oft viele Linkvorgänge gleichzeitig laufen (typischerweise 6 da ich die GCC Builds mit -j6 baue). Das geht mit 32GB noch, aber mit -j8 und daneben noch ein paar andere Sachen offen haben schafft man da "out of memory".

    Wenn du allerdings nicht 6-8 Projekte gleichzeitig linkst, sondern nur 1 oder 2, dann wirst du mit 16 GB erstmal hinkommen. Mit 8 vielleicht auch, würde ich aber nicht ausprobieren wollen.

    Andrerseits kann man RAM dazustecken wohingegen SSD nicht so "schön" erweiterbar ist (ein grosser Datenträger ist angenehmer als zwei kleinere). Von daher vielleicht, wenn du dazwischen entscheiden musst, lieber erstmal grössere NVMe SSD und weniger RAM.



  • Seit wann braucht man fürs Programmieren denn so Heavyrechner?
    Zum Gamen und für Videos zu encoden ist das klar, doch zum Compilieren reicht doch ein Mittelklasserechner allemal.
    Was schreibt ihr denn für Programme?
    Ich habe ein Gentoo-System bei dem regelmäßig kompiliert wird zusätzlich zu meinen kleineren Proejkten.
    Mein Rechner:
    AMD Phenom II X4 945
    4 X 3GHZ True Quad-Core Design
    8.0 MB Total Cache
    NVidia GeForce GT730
    8 GB (16 GB ist allerdings besser)
    SATA3 Festplatte

    Jeder heutige billige Aldi-Rechner kann wesentlich mehr und sollte daher dicke reichen.
    Vielleicht bin ich aber auch nicht so anspruchsvoll ⚠



  • MisssKelly schrieb:

    Seit wann braucht man fürs Programmieren denn so Heavyrechner

    Falls du nicht nur trollen willst: Schau dir hustbaer s Beitrag an, seine Erfahrungen teile ich, wobei ich
    durch schon nicht mehr feierliche transitive Abhängigkeiten sogar auf noch mehr gelinkte Bibliotheken komme.

    Jüngeres Beispiel bei mir, was so ein Linker für Speicher fressen kann (besonders wenn er optimiert (LTO)):
    MS link.exe hat sich mal wieder über 1,5 Stunden an einer libclang.dll abgearbeitet und dabei in der Spitze
    etwa 6,5 GiB Speicher belegt. Mit 8 GiB RAM ist das kein Spass und erlaubt auch nicht sonderlich viele parallele
    Prozesse, welche die CPU besser auslasten.

    Allerdings sind das auch alles Dinge, mit denen man erst bei größeren Projekten hauptsächlich im professionellen
    Umfeld konfrontiert wird.

    Persönliches Argument bezüglich CPU: Da ich bei der Softwareentwicklung viel mit SIMD (SSE, AVX, etc.) arbeite,
    bin ich leider etwas enttäuscht, dass die Zen-CPUs kein AVX-512 so wie die jüngsten Skylake-X unterstützen. Eine
    CPU, welche diese Instruktionen versteht, wäre für mich ein "nice-to-have" 😉



  • AMD Ryzen Threadripper 👍 👍 👍



  • Finnegan schrieb:

    Allerdings sind das auch alles Dinge, mit denen man erst bei größeren Projekten hauptsächlich im professionellen Umfeld konfrontiert wird.

    Auch als Hobby schadet es nicht, wenn man KDE oder Firefox mal eben "schnell" kompilieren kann.
    Von daher finde ich die Frage nach der "CPU zum programmieren" nicht so unsinnig. Die Antwort ist IMHO: so schnell es geht.

    hustbaer schrieb:

    (Wenn ich 4 Cores gleichzeitig auslasten muss um auf 100% zu kommen ist das einfacher zu machen als wenn ich 8 Cores gleichzeitig auslasten muss.)

    Speziell beim kompilieren kriegt man die 8 Cores ja schnell ausgelastet.
    Ansonsten hast du wohl recht. Wenn wir mal alle schön funktional ohne Seiteneffekte programmieren würden, könnte man die Parallelität so schön automatisieren...


Anmelden zum Antworten