tek9 schrieb:
Btw geht deine Erkläreritis so langsam auf die Nerven.
Das ist eine die einiges erklärt, aber wer das so sieht, sollte besser nicht in einem Forum wie diesem unterwegs sein.
tek9 schrieb:
Kannst du eigentlich programmieren?
Kannst Du es denn?
ZeroZerp schrieb:
Wo wir wieder bei den verfluchten Race- Conditions wären, die die Multicore Programmierer oftmals an die Grenzen des Wahnsinns treiben und das Troubleshooting auf X Plattformen, auf denen alles laufen soll so verdammt schwer macht.
Wer mit Race- Conditions Probleme hat, hat vorher nicht aufgepasst und die Synchronisierungen und Absicherungen von gemeinsam genutzten Datenstrukturen falsch gemacht und es reicht eine zu unterlassen, um Probleme zu bekommen. Klar wird dies "gerne" gemacht, um mehr Performance zu bekommen und es passiert auch oft, wenn alten Code verwendet der eben nicht threadsafe ist, weil er zu einer Zeit entstanden ist, also es nicht üblich war multithreaded zu programmieren oder weil der Ersteller des Codes diese eben nicht berücksichtigt hat.
Es gibt leider viel mehr schlechte Programmierer als gute, damit muss man leben und die Tendenz fertige Pakete zu verwenden statt auch selbst was zu schreiben, wird auch immer größer. Nur weiß man dann nie welche Fehler der anderen man sich damit in sein Programm holt. Ich mache immer noch so viel selbst wie möglich, wobei sich über die Jahrzehnte natürlich auch eine ansehnliche Codebasis ausgebaut hat. Multithreaded programmiere ich nur die Teile meiner Programme wo es sich wirklich lohnt, eben um den Aufwand fürs Programmieren wie auch für das Debuggen gering zu halten und weil es am Ende an keinen Mehrwert bringt oder sogar langsamer ist, wenn ein Thread nur sehr kurz an einer Aufgabe rechnet und dabei womöglich noch mehrere Threads gemeinsame Daten nutzen die auch noch verändert werden.
ZeroZerp schrieb:
@tek9
Ich wiederhole mich:
Sinnlos, auch er wird es nicht begreifen, weil es gegen die Linie geht die er fährt und wäre AMD die Firma mit den schnelleren Kernen und Intel würde mehr, aber langsamere Kerne bieten, wäre er mit Dir einer Meinung.
ZeroZerp schrieb:
Der Generaleffekt einer Geschwindigkeitssteigerung wird mit jedem zusätzlichen Kern nur immer niedriger.
Das ist das Problem, die Performance eines einzelnen Programms wird nie genau linear zur Zahl der Kerne skalieren. Da auch im Betriebssystem nicht alles perfekt parallel ablaufen kann, z.B. bei der Verwaltung des RAMs, der Tasks oder des I/Os geht dies einfach nicht, kann auch die Leistung des gesamten Rechnern nie zu 100% mit mehr Kernen skalieren.
Bis zu wie vielen Kerne eine Anwendung skaliert, hängt sehr von der jeweiligen Anwendung ab. Um die Grenzen möglichst weit rauszuschieben, werden eben Dinge wie TSX implementiert, wobei Intel hier die Nase vorne hat und AMD nachziehen muss, zumal sie eben auch auf CPUs mit sehr vielen setzen, aber offenbar haben die knappen Resourcen eben nicht gereicht ASF schon zu implementieren, so banal ist das nun wirklich nicht und dürfte auch einige Transistoren und damit Leistung erfordern. Solche Details werden aber hier kaum beachtet und dürften den meisten die den Stillstand bei Intel beklagen, gar nicht bekannt sein, für Heimanwender ist dies ja auch eher nicht wirklich relevant, zumindest bisher.
Jetzt kommen aber auch für Heimanwender CPUs mit immer mehr Kernen und damit wird es immer wahrscheinlicher das sich auch beim Heimanwender Anwendungen (gerade auch Games) so wie in der rote Kurve des oberen Bildes verhalten:
Da steigt die Leistung nämlich irgendwann nicht mehr mit mehr Kernen, sondern fällt sogar ab. Die Synchronisierungen zwischen Threads und Absicherungen von gemeinsam genutzten Datenstrukturen mehrere Threads, sind nämlich teuer (kosten viel Zeit) und daher können da gar nicht so viele pro Sekunden gemacht werden. Wie viele pro Sekunde möglich sind, hängt dabei vom System ab, auch da gibt es Unterschiede, aber welcher Review analysiert sowas schon im Detail? Aber wer darüber Bescheid weiß, wundert sich seltener über bestimmte Benchmarkergebnisse.
ZeroZerp schrieb:
Die Meinung, die aber generell hier im Forum mehrheitlich vertreten ist ist: doppelt so viele Cores= doppelte Geschwindigkeit - Ansonsten ist die Software schlecht programmiert. Das ist nunmal grundweg falsch.
Eben und es wird oft genug geschrieben, aber dann trotzdem nicht angenommen, sonst sich über Erkläreritis aufgeregt.