Fragen? Antworten! Siehe auch: Alternativlos
Der Compiler hat anscheinend eine spezielle Optimierung eingebaut, die nur bei diesem einen Benchmark hilfreich ist, und Wissen über die Daten nutzt, mit denen dieses Programm in dem Benchmark dann laufen wird.
SPEC ist eine herstellerübergreifende Institution, die spezifiziert hat, welche Programme man mit welchen Daten wie lange laufen lassen muss, und dann aus den Laufzeiten einen Wert errechnet, anhand dessen man die Leistung von Prozessoren vergleichen kann.
Die Programme, die die da in der Suite haben, sind eigentlich recht gut gewählt, um am Ende sinnvolle Aspekte der CPU-Leistung abzubilden. Da sind so Sachen wie gcc und perl drin, LZMA-Datenkompression, Videokompression, ein XML-nach-HTML-Konverter via XSLT, sowas. Der Teil, bei dem Intel offenbar beschissen hat, ist der XSLT-Konverter. Der so erschwindelte Performancegewinn liegt bei 4-9%, je nach konkretem Benchmark. Angesichts der Berechnungsmethode haben die da also massiv eingegriffen, wenn nur einer der Teilbenchmarks die Gesamtwertung so verzerren kann.
Lustigerweise ist Intel von einem proprietären Closed-Source-Compiler vor einer Weile zu einem LLVM-clang-Fork umgestiegen, wobei sowohl clang als auch ihr Fork open source und öffentlich einsehbar waren. Hat aber anscheinend eine ganze Weile niemand tatsächlich eingesehen. (Danke, Hans)