Ja, es ist schon schneller. Aber 10% finde ich jetzt nicht so viel, dass ich da in Jubel ausbrechen würde. Ich wollte nur darauf hinweisen, dass es eben nicht sooo super ist, wie es immer dargestellt wird. Dafür hat es zum Beispiel keine Garbage Collection aber auch nicht diesen statischen Ansatz vom Atari BASIC, was Strings angeht. D.h. wenn man da nicht drauf achtet, dann müllt es den Speicher mit Strings voll und steigt dann irgendwann mit OOM aus.
Ja klar, aber was kann man sich schon ehrlich erwarten. Es ist kein Jubel notwendig. Das sind 10 % ja schon super (das war j a nur der Durchschnitt über 9 Programme einer Suite), und das nur bei einer relativ floating-point-lastigen Benchmark-Suite. Egal, was man macht, wenn man einen Funken von Programmierung hat, wird man hier an der Sockelperformence (bei gleicher Präzision) nicht viel unterschiedlich implementieren können, dass mehr als einige Prozentpunkte herausschauen. Die 10 % sind dann im Schnitt nur noch das, was halt mit den Kontrollstrukturen und Variablen (entsprechend ihrem Anteil) herauszuholen kann - und das ist schon wirklich "gut". In gewissen Bereichen, wo etwas nur Kontrollstrukturen gemessen werden sind 40 oder gar 50 % drinnen.
In anderen Bereichen, wie etwa Grafik hat man im Gegensatz zu FP-Implementierungen noch eher mehr Spielraum, wo man deutlichere Unterschiede erwarten kann, die sogar in "Größenordnungen" gehen können, wenn ich beispielsweise die Performance von Grafikerweiterungen vergleiche.
Solche Benchmarks hinken dann auch einfach, wenn man mit einer BASIC-Variante Möglichkeiten in die Hand bekommt, die dann den Benchmark nicht mehr vergleichbar machen. Etwa, wenn sich die meisten BASIC-Varianten mit FP-Arithmetik abplagen müssen und BBC-BASIC aber Integer-Arithmetik hat, dann hätte man hier schon wesentliche Verbesserungen, aber im Sinne einer Fairness nicht mehr mit dem Rest vergleichbar. Will damit sagen, dass ein Benchmark diverse Suites, etwa solche, die fixe Programme vorgeben, nur bedingt aussagekräftig ist, was unterschiedliche Dialekte an Leistungsfähigkeit hervorbringen können. Wenn man das breiter anlegt, wie etwa beim Byte Benchmark Eratosthenes Sieve, wo gewissermaßen nur der Algorithmus vorgegeben ist, und quasi egal ist wie das implementiert ist, dann ist das - so finde ich - das wesentlich interessanter.
So gesehen hängt es ohnehin immer davon ab, welches Problem man hat, ob eine gewisse Eignung dafür vorhanden ist. Ein Implementierung oder Algorithmen müssen sich gegebenenfalls auch darauf ausrichten, wenn man etwa keine dynamische String-Verwaltung hat oder so.
Eine allgemeingültige Aussage, die sich hier vielleicht die einen oder anderen wünschen, kann man sowieso nicht geben.