Was habt ihr für Arbeits-PCs/Laptops?



  • hustbaer schrieb:

    Da wünsch' ich mir schon öfter nen Threadripper 🙂

    Meinst du denn, dass der einen wesentlichen Unterschied machen würde? Wenn du jetzt mit deinem privaten PC arbeiten würdest (klang so als würdest du das nicht), würdest du dir etwas in der Richtung anschaffen?



  • ja & ja
    Auf unseren CI Kisten (die viele viele VIELE Cores haben) bauen die Projekte wesentlich schneller.

    Also entweder nen Threadripper oder halt einen der neuen Intel mit den vielen Cores (i9/i7x). Müsste ich nochmal googeln was Performance und auch realen Stromverbrauch angeht. (Stromverbrauch is mir wichtig wegen Hitzeverbrauch wegen "wie viel Aufwand ist es den leise zu kühlen?").


  • Mod

    Also wir haben schon sehr neue Kisten. Hardware ist ja vergleichsweise (das mit Abstand höchste in der IT sind immer die Personalkosten) sehr sehr günstig. Daher hat bei uns eigentlich jeder einen halbwegs neuen Core i7, 32GB RAM und SSDs. Graka nicht, wir sind nicht in der Spieleentwicklung.

    MfG SideWinder



  • MacBook 12" 2016, reicht für meinen Kram vollkommen aus. Klein und leicht genug um vom Cafe aus oder am Pool zu arbeiten. Brauche aber auch fast nur Terminal / SSH. Also ist CPU im Gegensatz zu Akku nebensächlich.



  • Ich habe am Arbeitsplatz einen recht starken i7, 32GB RAM (okay, nur 24GB aktiv, weil ein Riegel aufgegeben hat), eine mittelklasse Graka und natürlich SSD. Dazu ein 32" TFT-Display. Wenn wir einen neuen Rechner kaufen, dann für die Entwickler schon einen ziemlich potenten. Ich muss zwar wenig C++ kompilieren, aber wenn, dann bin ich um jedes MhZ und jeden Kern froh. Für langwierige Berechnungen mit unserer Software kann die Power auch nicht schaden.. also ist klar, dass es kein Build für 750 EUR wird^^
    Aber wie Side schon anmerkte.. HW sind ja eher niedrige Kosten. Für das Geld, was mein Rechner gekostet hat, arbeitet der normale Informatiker nicht mal 2 Wochen.



  • schlepptop schrieb:

    Als Entwickler kommt man ja eigentlich auch mit dem durchschnittlichen 1k-Laptop gut zurecht?

    Nur wenn die Projektgröße gering ist. Bei großen Projekten machen starke Rechner schon sehr viel aus. Zwar dauert bei uns ein komplettes Build keine Stunde, doch jede Minute kostet Konzentration (man wird aus dem Ablauf gerissen) und Produktivität (wenn der Rechner weitgehend blockiert ist), damit auch Geld.

    Wir nutzen gebrauchte DELL-Workstations, die wir für 1000€ eingekauft haben (Dual Xeon E5-2555 [2x8 Kerne, 32 Threads] mit 32 GB RAM und einer 512GB SSD; daran hängen 2 Monitore). Das hat unsere Compilezeiten gegenüber den vorherigen Rechner halbiert. Durch einige Macken im C++ Builder mit großen Projekten brauchen wir für den Nachtest einer einzigen geänderten Zeile nicht selten 3 Minuten, das summiert sich durchaus auf (die Halbierung hat daher bereits einiges an Produktivität gebracht, wenn der Rechner für 6 Minuten brach liegt ist man Gedanklich schon abgedriftet).



  • Core i7-4930K, 32 GiB RAM, GeForce GTX 780 Ti, GeForce GTX 980 Ti und GeForce GTX 1080 Ti 😃



  • Ich darf vermutlich das Schlusslicht präsentieren: Laptop mit Core i5 4200 (Dual-Core + HT) und 8 GB Ram. Dazu eine 512 GB HDD mit 8 GB SSD Cache.

    Wir entwickeln zum Glück hauptsächlich Java, so dass ein kompletter Build "nur" 3 Minuten dauert, aber gefühlt dauert alles um die 3 Minuten: Hochfahren, Office starten, Browser starten, Eclipse starten, SVN update, VM starten... Da vergehen am Anfang des Tages schon mal 15-20 Minuten bis man loslegen kann.


  • Mod

    Tobiking2 schrieb:

    Ich darf vermutlich das Schlusslicht präsentieren: Laptop mit Core i5 4200 (Dual-Core + HT) und 8 GB Ram. Dazu eine 512 GB HDD mit 8 GB SSD Cache.

    Wir entwickeln zum Glück hauptsächlich Java, so dass ein kompletter Build "nur" 3 Minuten dauert, aber gefühlt dauert alles um die 3 Minuten: Hochfahren, Office starten, Browser starten, Eclipse starten, SVN update, VM starten... Da vergehen am Anfang des Tages schon mal 15-20 Minuten bis man loslegen kann.

    Kannst du deinem Chef nicht darlegen, dass 15min*250Arbeitstage = 62,5h = 2 Arbeitswochenlohn brutto das größere Übel als eine ordentliche SSD ist?

    MfG SideWinder



  • Tobiking2 schrieb:

    Da vergehen am Anfang des Tages schon mal 15-20 Minuten bis man loslegen kann.

    Glaub mir, da gibt es schlimmeres. In einer Firma brauchte ich 5-15 (im Schnitt bei mehr als 10) Minuten Compilezeit für ein einzelnes Teilprojekt, etwa 3,5 Stunden für das Gesamtprojekt.

    Gleichzeitig war der Speicherplatz so begrenzt das wir nur jeweils 3 VMs neben der Entwicklungsumgebung auf den Rechner halten konnten, diese waren für die Verbindung zu ein paar Kunden (mit unterschiedlichen VPN-Clients bestückt) ausgelegt. Der Austausch einer VM blockierte den Rechner für etwa 2-3 Stunden. Man wurde ständig vom Chef angemacht warum man sich noch nicht um einen Kunden gekümmert hätte, man müsste doch wissen welche VM man braucht (Leider war meine Glaskugel defekt)...

    Selbst einigermaßen gute, aktuelle Standard-PCs hätten damals wohl gereicht um die Wartezeiten zu halbieren. Aber wie heißt es so schön: "Wir müssen Sparen, koste es was es wolle".

    Mein jetziger Chef mag zwar in gewissen Grenzen auch sparen (3 Jahre alte, gebrauchte Workstations). Aber im Verhältnis zu damals sind meine Geräte in dieser Firma sogar noch nach dem anschließenden ausmustern besser...



  • SideWinder schrieb:

    Tobiking2 schrieb:

    Ich darf vermutlich das Schlusslicht präsentieren: Laptop mit Core i5 4200 (Dual-Core + HT) und 8 GB Ram. Dazu eine 512 GB HDD mit 8 GB SSD Cache.

    Wir entwickeln zum Glück hauptsächlich Java, so dass ein kompletter Build "nur" 3 Minuten dauert, aber gefühlt dauert alles um die 3 Minuten: Hochfahren, Office starten, Browser starten, Eclipse starten, SVN update, VM starten... Da vergehen am Anfang des Tages schon mal 15-20 Minuten bis man loslegen kann.

    Kannst du deinem Chef nicht darlegen, dass 15min*250Arbeitstage = 62,5h = 2 Arbeitswochenlohn brutto das größere Übel als eine ordentliche SSD ist?

    Haben wir schon versucht. Allerdings haben wir das Problem, dass wir als Diensterleister beim Kunden auf Hardware des Kunden entwickeln, und der Verantwortliche beim Kunden keine Chance gegen die fixen Prozesse der IT hat. Die sehen nicht vor das ein funktionierender Laptop ausgetauscht wird. Da geht es in großen Konzernen leider zu oft unglaublich bürokratisch zu.



  • Danke für den Input Leute, coole Sache!

    Bei uns hat es sich in den letzten 1,5 Jahren tatsächlich gebessert - früher flogen teilweise echt oft genug auch noch Laptops mit 4GB RAM durch die Gegend, die man dann erstmal zurückweisen musste, weil man damit nicht mal ein Repository klonen kann.

    Mittlerweile sind sie wenigstens alle auf 16 GB aufgerüstet und haben eine 256 GB SSD.
    Ist irgendwie auch etwas wenig, aber die meisten Entwickler sind einem Projekt zugeordnet, da kann man dann schon Ordnung halten.
    Die CPUs sind irgendwelche dual-core i5s. Etwas lahm, aber schon OK.

    Wie ist denn Euer Setup bezüglich Software dann? Benutzt ihr VMs? Irgendwie schreckt mich bei den etwas die langsame I/O ab - macht ja eigentlich den SSD-Vorteil fast wieder zunichte.



  • Software ist bei uns quasi dem Entwickler überlassen. Viele verwenden Eclipse, viele Visual Studio, ein paar XCode. Vermutlich noch 1-2 weitere die von ein paar ganz wenigen verwendet werden.

    OS ist ebenso wahlfrei, Windows, OS X oder irgend ne Linux Distro.

    Ich verwende Visual Studio, weil ich es schon lange kenne und halbwegs angenehm finde. Linux Builds probiere ich mit GCC über "Bash on Ubuntu on Windows" aus. Das geht ganz gut. Nicht wirklich schnell, aber erträglich. Und ich muss nicht blöd rum-syncen oder mit VM Shared Folders rummachen.

    VM brauche ich dadurch meistens keine. Die meisten Entwickler die mit Linux arbeiten haben allerdings ne Windows VM wo dann Visual Studio drauf ist, damit sie Windows Builds machen können (und ggf. debuggen).

    Für AIX, Solaris, Linux PPC etc. haben wir Maschinen wo sich jeder Entwickler einloggen kann (Ad-Hoc Tests, Debuggen etc.) bzw. über fertige Scripts Remote-Build auf diesen Systemen ausführen kann.

    Und wenn sehr spezifische VMs (spezielle OS Versionen) benötigt werden haben wir für x86 Zeugs noch OpenNebula wo man sich relativ unkompliziert und vor allem schnell was zusammenklicken kann. Für die "Exoten" ist was Ähnliches in Planung.

    schlepptopp schrieb:

    Benutzt ihr VMs? Irgendwie schreckt mich bei den etwas die langsame I/O ab - macht ja eigentlich den SSD-Vorteil fast wieder zunichte.

    Was man so liest, und was sich mit meiner (begrenzten) Erfahrung deckt, ist die IO Performance bei Hyper-V sehr gut -- zumindest wenn man "fat" provisionierte VHDX verwendet (=*nicht* dynamisch). Dafür ist die "Integration" halt Kacke wenn man z.B. Linux als Gast verwendet. Also so Sachen wie Shared-Clipboard ... tjo, Pech, geht halt nicht. (Windows Gäste hauen aber echt super hin.)

    VirtualBox scheint dagegen wirklich recht lahm zu sein was IO angeht.



  • hustbaer schrieb:

    schlepptopp schrieb:

    Benutzt ihr VMs? Irgendwie schreckt mich bei den etwas die langsame I/O ab - macht ja eigentlich den SSD-Vorteil fast wieder zunichte.

    Was man so liest, und was sich mit meiner (begrenzten) Erfahrung deckt, ist die IO Performance bei Hyper-V sehr gut -- zumindest wenn man "fat" provisionierte VHDX verwendet (=*nicht* dynamisch). Dafür ist die "Integration" halt Kacke wenn man z.B. Linux als Gast verwendet. Also so Sachen wie Shared-Clipboard ... tjo, Pech, geht halt nicht. (Windows Gäste hauen aber echt super hin.)

    VirtualBox scheint dagegen wirklich recht lahm zu sein was IO angeht.

    Dafür gibt's doch die IOMMU-Virtualisierungsfunktion in Hardware (Kurz VT-d).
    Wozu soll man also noch in Software virtualisieren, wenn es die CPU viel performanter kann?

    VirtualBox oder Co braucht man dann nur noch als Klebstoff dazwischen.



  • Tobiking2 schrieb:

    Da vergehen am Anfang des Tages schon mal 15-20 Minuten bis man loslegen kann.

    Kannst du nicht den Rechner in den Ruhezustand (bzw. Energiesparmodus) versetzen (anstatt komplett runterzufahren)? Habe ich bei meinem letzten Rechner auch immer so gemacht (nur wenn dann wieder ein Windows-Update mit Neustart anstand, hatte ich mal wieder eine längere Frühstückspause...).



  • Xeon E5-1560 v3 / 3,5 Ghz
    64 GB RAM
    1x SSD 1TB
    1x SSD 500GB
    GF GTX 970
    2x 24'' FullHD

    Prozessorkerne idlen oft darum, aber Graka koennte schon noch besser sein.



  • Hardwarevirtualiser schrieb:

    Dafür gibt's doch die IOMMU-Virtualisierungsfunktion in Hardware (Kurz VT-d).
    Wozu soll man also noch in Software virtualisieren, wenn es die CPU viel performanter kann?

    VirtualBox oder Co braucht man dann nur noch als Klebstoff dazwischen.

    Mit "IO" hab' ich hauptsächlich (local) Disk IO mit virtual HDD Files (VHD, VMDX, ...) gemeint.
    Da muss der Hypervisor Zugriffe auf die virtuelle HDD/SSD des Gastsystems in Zugriffe auf ein virtual HDD File übersetzen. Speziell bei dynamisch wachsenden virtual HDD Files ist das sehr aufwendig.

    Das ist wesentlich mehr als nur "Kleber" zwischen zwei Hardwareteilen.

    Soweit ich weiss kann dir eine IOMMU dabei nicht mal helfen - die hilft nur wenn Hardware 1:1 an ein Gast-System "weitergereicht" wird. Diesen Teil des Problems löst man bei Disk IO sehr gut durch spezielle Treiber. Die plaudern dann über spezielle Interfaces "direkt" mit dem Hypervisor. Was quasi den ganzen Overhead der simulierten Hardware entfernt.



  • hustbaer schrieb:

    Hardwarevirtualiser schrieb:

    Dafür gibt's doch die IOMMU-Virtualisierungsfunktion in Hardware (Kurz VT-d).
    Wozu soll man also noch in Software virtualisieren, wenn es die CPU viel performanter kann?

    VirtualBox oder Co braucht man dann nur noch als Klebstoff dazwischen.

    Mit "IO" hab' ich hauptsächlich (local) Disk IO mit virtual HDD Files (VHD, VMDX, ...) gemeint.
    Da muss der Hypervisor Zugriffe auf die virtuelle HDD/SSD des Gastsystems in Zugriffe auf ein virtual HDD File übersetzen. Speziell bei dynamisch wachsenden virtual HDD Files ist das sehr aufwendig.

    Das ist wesentlich mehr als nur "Kleber" zwischen zwei Hardwareteilen.

    Soweit ich weiss kann dir eine IOMMU dabei nicht mal helfen - die hilft nur wenn Hardware 1:1 an ein Gast-System "weitergereicht" wird. Diesen Teil des Problems löst man bei Disk IO sehr gut durch spezielle Treiber. Die plaudern dann über spezielle Interfaces "direkt" mit dem Hypervisor. Was quasi den ganzen Overhead der simulierten Hardware entfernt.

    Mit IOMMU kannst du eine Hardware, z.B. ein Festplattencontroller direkt an das Gastsystem weiterreichen und das kann dann darauf natürlich direkt, also raw zugreifen.
    Wo ist da jetzt die Performancehürde?



  • Hardwarevirtualisierer schrieb:

    Mit IOMMU kannst du eine Hardware, z.B. ein Festplattencontroller direkt an das Gastsystem weiterreichen und das kann dann darauf natürlich direkt, also raw zugreifen.
    Wo ist da jetzt die Performancehürde?

    Klar kann man das, hab ich ja geschrieben. Tut man bloss nicht, weil es nicht praktikabel ist. Du willst nicht pro VM einen eigenen SATA Controller + eigene SSD einbauen. Du willst das über virtual Disk Files machen. Und da hilft dir die IOMMU nicht, und genau da ist dann das Performanceproblem. Oder eben auch nicht (bzw. kaum), wenn man paravirtualisierte Treiber + preallocated virtual Disk Files verwendet.

    Klar, du kannst sinnfreie realitätsfremde Beispiele bringen und dann behaupten dass es dabei keine Performanceeinbussen gibt. Die Behauptung mag dann stimmen, nur ist sie halt eben sinnfrei und realitätsfremd.



  • Man könnte die Datenträger auch via iSCSI einbinden und die Datenträger direkt auf dem Hostrechner verwalten, auf dem auch die VM ausgeführt werden.


Anmelden zum Antworten