Rolf B: Informatik zum Donnerstag

Beitrag lesen

Hallo 1unitedpower,

mit der iterativen Version von natE komme ich auch weiter.

Es liegt vielleicht an meiner Implementation, aber bei mir ist das Timing von multE nicht symmetrisch. multE(3, 1000) läuft schneller als multE(1000, 3). Bei meinen Tests zur Fakultät hieß das:

Rechnung Gut Schlecht
4! <2ms <2ms
5! <2ms <2ms
6! 3ms 5ms
7! 6ms 41ms
8! 24ms 1853ms
9! 176ms ♾️
10! 2317ms
11! 34000ms

Die 12! mit dem besseren Zweig habe ich mir dann verkniffen.

Ich habe dann noch zum Testen die multE Funktion durch eine Integer-Multiplikation und to(wert) ersetzt. from(nat) hatte ich ja schon - wie anderswo geschrieben, durch das debugValue Property gepimpt. Die to-Implementierung habe ich iterativ gemacht, ohne Rekursion, ohne natE, also die Succ-Kette so schnell wie möglich aufgebaut. Damit sank 11! von 34 auf 7 Sekunden. Aber 12! Fakultät ließ sich nicht mehr berechnen, Chrome hat mir auf einmal das Script beendet und einen traurigen Smiley gezeigt 😂

Rolf

--
sumpsi - posui - obstruxi