LLVM ist mehrere Dinge zusammen - eine Art virtueller Maschine/optimierender Compiler, kombiniert mit verschiedenen Frontends, die die Eingabe in einer bestimmten Sprache übernehmen und das Ergebnis in einer Zwischensprache ausgeben. Diese Zwischenausgabe kann mit der virtuellen Maschine ausgeführt werden oder zum Generieren einer eigenständigen ausführbaren Datei verwendet werden.
Das Problem mit Nebenläufigkeit ist, dass es, obwohl es für eine lange Zeit in der wissenschaftlichen Datenverarbeitung verwendet wurde, es vor kurzem in Consumer-Apps üblich geworden ist. Während es allgemein bekannt ist, wie man ein wissenschaftliches Berechnungsprogramm programmiert, um eine großartige Leistung zu erzielen, ist es eine völlig andere Sache, einen Mail-Benutzeragenten/ein Textverarbeitungsprogramm zu schreiben, das gut im Nebeneinander arbeiten kann. Außerdem wurden die meisten der aktuellen Betriebssysteme mit einem einzigen Prozessor entwickelt und sind möglicherweise nicht vollständig auf Multicore-Prozessoren vorbereitet. Der Vorteil von LLVM in Bezug auf Gleichzeitigkeit ist, dass Sie eine Zwischenausgabe haben, und wenn in der Zukunft Fortschritte im Nebeneinander bestehen, dann erhalten Sie durch die Aktualisierung Ihres Interpreters sofort diese Vorteile in allen LLVM-kompilierten Programmen. Dies ist nicht so einfach, wenn Sie eine eigenständige ausführbare Datei kompiliert haben. Daher löst LLVM das Nebenläufigkeitsproblem nicht per se, aber es lässt eine Tür für zukünftige Verbesserungen offen.
Sicher gibt es mehr mögliche Fortschritte für die Hardware wie Quantencomputer, Genetikcomputer usw. Aber wir müssen darauf warten, dass sie Wirklichkeit werden.
Das ist keine Frage. Ich sehe mindestens drei, möglicherweise vier. –
Hättest du mich alle getrennten Fragen stellen? Sie sind alle irgendwie verwandt. Sind sie nicht? :) –
"Py3k scheint Memory Footprint-Problem gelöst zu haben (durch die Rückgabe von Iteratoren als Listen); Jetzt, wenn LLVM Geschwindigkeitsproblem löst?" was ist die Frage? Es gibt eine Art implizierte Frage ... aber es ist nicht klar, was es ist. Und ja, hier sind zu viele Fragen in einem! – TofuBeer