Es gibt schneller als C-Sprachen.
Es gibt schnellere Sprachen als C. Zum Beispiel macht sich Fortran, wie bereits erwähnt, sehr gut, weil es viel eingeschränktere Aliasing-Sprachregeln gibt.
Es gibt auch experimentelle Assembler wie Sprachen, die C an der Front angreifen, wo es als Assember-Sprache auf hoher Ebene verwendet wird, zum Beispiel zur Erstellung von Compilern. Schon mal was von C-- oder Janus gehört? Aber diese beiden wurden durch das LLVM-Projekt getötet.
Ich wette, dass APL oder andere mathematische Sprachen in ihren speziellen Anwendungsbereichen C aus dem Wasser sprengen werden, da sie die Unterstützung für Vektorverarbeitungseinheiten eingebaut haben. Dies ist etwas, was für C nicht möglich ist (und Leute: NEIN! Speziell optimierte Bibliotheken mit C-Verknüpfung haben nichts mit C als Sprache zu tun).
Auch CPU-Produzenten haben alles entfernt, was Compiler-Autoren in anderen Sprachen hilft. Erinnern Sie sich an die mit Tags versehenen Assembler-Codes, um die LISP-Implementierung auf SPARC zu beschleunigen? Vom Winde verweht.
Wenn Sie von Mikrobenchmarks zur Anwendungsentwicklung übergehen, gibt es schnellere Sprachen für die Anwendungsentwicklung. Mein persönliches Beispiel ist hier immer SmartEiffel. Es zielt auf C ab, verwendet jedoch eine globale Systemoptimierung, die es in der realen Anwendungsentwicklung schneller als C macht.
In diesem Bereich kann sogar eine einfache falsche oder einfache Abstraktion die gesamte Sprachleistung beeinträchtigen. Weil C keine hohen Abstraktionen bietet, sagen die meisten, es sei ein Programmierproblem, aber das ist es nicht. Schauen Sie sich zum Beispiel den Mangel an Generika an. In C werden Sie langsame Implementierungen wie die Bibliotheksfunktion "qsort" haben, die mit generischen Methoden um ein Vielfaches schneller geschrieben werden kann (wobei der Funktionsaufruf für Schlüsselvergleiche entfällt).
Vergleichen Sie einfach einen qsort-Aufruf für ein Megabyte-Array von ints mit einer gut handgeschriebenen Implementierung, die den Array-Zugriff und den eingebauten Operator '<' verwendet.