Stranger Than Usual

Primzahlberechnung

Dieser Eintrag wurde ursprünglich auf meinem alten Blog veröffentlicht. Dieser Eintrag hier ist eine Kopie mit kleinen technischen Anpassungen.

So, nach dem ich gestern (ups, es war schon vorgestern, und zwar seit vier Minuten) die verbesserte Version meines Brainfuckinterpreters online gestellt habe, wollte ich mal genau wissen, wie schnell die verschiedenen Versionen sind.

Getestet wurde alles unter ausreichend gleichen Bedingungen, auf einem Zweikern-Processor, ohne andere Programme, die das System belastet haben. Die Zeitmessung war für die Messwerte hinreichend genau.

Ich habe also folgendes ausgeführt:

date >> stoppuhr && echo 255|brainfuck prime.bf && date >> stoppuhr

Nicht die genaueste Methode zu messen, aber es reicht. "echo 255" ist nötig, da das Programm eine Eingabe erfordert, bis zu welcher Primzahl gerechnet werden soll. Das manuell einzugeben war mir zu ungenau.

Hier haben wir die Ergebnisse:

  • Brainfuck-0.5 hat 5:36 Minuten gebraucht.
  • Brainfuck-0.6 hat 1:31 Minuten gebraucht.

Nun, das ist eine Verbesserung, auf die ich stolz sein könnte, wenn nicht… tja… Ich habe im Netz einen BF-Compiler gefunden. In Assembler geschrieben, 170 Byte groß (im Vergleich: mein Interpreter ist 14kB groß). Nach dem compilen habe ich ein kleines Programm, das die Primzahlenberechnung in 4 (vier) Sekunden durchführt.

Naja, was soll's…