Thread neue Perl 6 Operatoren (48 answers)
Opened by lichtkind at 2007-11-09 22:22

moritz
 2007-11-13 13:53
#102337 #102337
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Das Problem ist, dass Perl 5 langsam immer mehr "Magie" ansammelt, die auf die Performance drückt.

Ich habe mal ein paar der Language Shootout Benchmarks von Debian mit 5.8 und 5.10 durchlaufen lassen, und 5.10 ist tendenziell ein bisschen langsamer (wobei meine Benchmarks auch kaputt gewesen sein können).

Unabhängig von der Implementierung wurden bei Perl 6 beim Design der Sprache ein paar Dinge festgelegt, die nette Optimierungen erlauben, insbesondere optionale statische Typen.

Damit kann man z.B. MMD (multi method dispatch) z.T. zur Compilezeit auflösen, man kann Bytecode generieren, in dem z.B. bei numerischen Operationen die dynamischen Typen nicht mehr überprüft werden müssen usw.

Das sind alles nichttriviale Optimierungen, aber durchaus machbar.

Daher ist meine Vorhersage, dass die ersten Perl 6.0-Implementierungen ein wenig langsamer als perl5.8 sein werden, dass aber nach und nach weitere Optimierungen dazukommen, die bei gut geschriebenen Programmen zu besseren Laufzeiten als bei perl 5 führen werden.

Bei dem Backend Parrot (ich glaube nicht, dass es langfristig nur dabei bleiben wird) hängt sicher vieles davon ab, ob sich jemand mit viel Compiler-fu daransetzt und z.B. einen richtig guten JIT-Compiler schreibt. Das wird auch viel von komerziellen Interessen abhängen, die dann hoffentlich dahinter stehen.

View full thread neue Perl 6 Operatoren