Kann jemand einige Daten zur Verfügung stellen, die die Leistung des von llvm's JIT ausgegebenen Codes anzeigen, sagen wir, verglichen mit der statischen Kompilierung mit -O3? Es ist besser, dass eine solche Leistung durch einen spezifischen Benchmark veranschaulicht wird. Die Leute sagen, der Code, der von JIT ausgegeben wird, ist langsam. Ich bin nur neugierig, wie langsam es ist.JIT-Leistung von LLVM
9
A
Antwort
5
diese Präsentation Geben Sie ein read, es Benchmarks der JIT deckt Code generiert (für eine JVM & .Net aber leider die meisten Benchmarks für bestehende Sprachen mit einem neuen JIT-Backend, wie Rubinius). Es gibt auch ein paar interessante Graphen here.
Als zusätzlichen Bonus ist here eine Präsentation zum Aufbau eines effizienten JIT mit LLVM und Clang, die Speicherverbrauch und Geschwindigkeit Benchmarks des JIT-Prozesses abdeckt, die die Geschwindigkeit und Qualität des generierten Codes beeinflussen können Erstellen Sie Ihre eigenen Benchmarks.
Allerdings könnten Sie auch this question interessant finden.
Haben Sie ... es versucht? Ich meine, wie schwer ist es, [eine Benchmark-Suite] herunterzuladen (http://www.netlib.org/benchmark/dhry-c) und es einmal mit GCC und einmal mit Clang zu kompilieren, um zu sehen, was der Unterschied sein könnte? –
Es ist natürlich eine Option, es selbst zu versuchen. Aber ich denke nicht, dass die Bewertung eines ganzen Benchmarks eine leichte Aufgabe ist, besonders wenn ich mit der jit-Zusammenstellung von llvm nicht vertraut bin. Ich nehme an, jemand hat es getan, und ich möchte nur das Ergebnis wissen. – dalibocai
Fragen Sie nach der Leistung von JIT * selbst * (wie lange dauert es, um die Just-in-Time-Kompilierung durchzuführen) oder der Leistung des generierten Codes? –